On Fri, Apr 25, 2008 at 12:49 AM, David Jencks <[EMAIL PROTECTED]> wrote: > > On Apr 24, 2008, at 11:11 PM, Henri Gomez wrote: > > > > > > > I've heard various claims of this nature from osgi zealots, but when > > > talking to apparent experts the only things resembling this they seemed > to > > > know about were grad student experiments that did not have production > use as > > > even a far-in-the-future goal. Do you know of any actual examples of > this > > > kind of behavior that actually work under load? > > > > > > > We'll see how OSGI works underload with Glassfish v3. > > > > Are they planning to support "gapless" redeployment of web apps using only > osgi features, with no other servlet container support? If so is can you > point to an explanation of how they plan to do this?
There are many problems to solve for 'gapless' redeployment, but I think the biggest is sessions and statics. The classloader ( OSGI or not ) can keep multiple versions of the application loaded - but you need the mapper to know where to send each request. In theory it could be done even with the current tomcat, by including the version in the cookie and changing the mapper to use it. But I think the main question is if it's worth it - there is a lot of complexity and many things that can go wrong. Very few advanced users will be able to use this - in particular if they have production environments and some release testing is required ( i.e. it would be quite hard to automate and test what will happen in gapless case). The alternative - having multiple machines/VMs running different versions behind a load balancer - is quite safe and I suspect the 'advanced users' who may need gapless would be better off using the old way. I mean - if you run your app out of a single VM, probably you won't need gapless, and if you already have load balancing/failover/multiple servers - you have a better/safer solution. Costin --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]