|[virgo-dev] Running Virgo with two versions of Spring|
I am writing with regards to something I have been experimenting with for the last few days - providing a choice of both Spring 3 and Spring 4 to applications running inside Virgo.
Here is a little background. Virgo 3.7.0 is updating Spring to version 4, which is great! And we, at VMware, have been testing running our application on it for some time now, so we are ready to upgrade as soon as it's officially released. However, we do have a lot of 2nd and 3rd party code that runs in our Virgo instance for which it might take more time to migrate to Spring 4. To mitigate that, I have been trying to make our Virgo work with applications written in both Spring 3 and Spring 4 simultaneously.
So, my question is has anyone on the Virgo dev team (or anyone else) ever tried doing that? I couldn't find examples on the forum or anywhere else on the web. If yes, could you please share some experience and possibly a solution? If not, would you be interested in integrating the change in Virgo, once/if I manage to provide such a functionality?
Currently, I have implemented a custom ApplicationContext that extends Spring's org.springframework.osgi.web.context.support.OsgiBundleXmlWebApplicationContext. This application context is to be used by all apps that are still using Spring 3, while others are using Virgo's org.eclipse.virgo.web.dm.ServerOsgiBundleXmlWebApplicationContext. The latest issue I am faced with is not having the app-specific resources (html, js, css) loaded by the custom ApplicationContext. Otherwise, the two versions of Spring look to be coexisting quite well.