Bennett, Timothy (JIS - Applications) wrote:

If you wanted a WAR distro in OSGi, then you'd probaby need a custom Jetty 
service implementation to expose Jetty API's for loading WAR distros, but that 
method defeated the goal of the exercise that Niclas undertook, and that was to 
strictly use the OSGi HttpService interface.
I think it is best to use the HttpService interface, as two very different classloaders don't mix too well. Using an all out OSGi classloading strategy makes sure everything runs smoothly, or using only the classloader of the application server.

My experience with web container based classloading combined with OSGi classloading is that it is workable, but not perfect: - application server restarts will not restore saved sessions with serialized classes coming from OSGi bundles (will give class not found exceptions) - serialization of classes coming from OSGi bundles across a cluster will give similar problems. This will hinder scalability. I haven't tried this, but I expect it to be a problem.

The best part though is that it is possible to switch bundles at runtime, without bringing the application and the server down. I also like the fact that the contents of a bundle are really seperate from other bundles.

When you use an all out OSGi solution, you won't have the serialization problems, or at least the OSGi container should solve that problem for you. It helps to have only one captain on the bridge ;-)

Martijn

I'll mod the wiki to clear up this confusion.

-tbennett



Reply via email to