We are running our application in Virgo 3.0.1.We have a Web application bundle with context path /xxx . Our main motto is not to have any outage at all.When I tried
upgrading the version of my Web bundle and deploy in virgo,I get an error Saying a web application with context already exists.
Caused by: org.eclipse.gemini.web.core.spi.ContextPathExistsException:
Context path '/xxx' already exists
How can I overcome this error and upgrade my bundle without loosing any
exising requests/activity in my older web bundle.
TO be very specific I want the following to happen
1.) WAB X 1.0 is installed and running with context /xxx
2.) update WAB X to 1.1
3.) active requests in the pipeline still use old version
4.) new requests use the new version
Is there any configuration that I need to enable to achive this,because I am not able to install my new web bundle which mean I need to stop or unintall my old version bundle and then install a newer versioned one,this basically will cause some outage window to my application which I do not prefer and it beats the who purpose of using OSGi.
Refreshing the web bundle should cause it to stop and be unregistered as a web application and then immediately started again and re-registered as a web application. So how precisely are you "upgrading the version" of your web bundle?
Note that there is bound to be a small window of unavailability of the web app when refreshing a web bundle. Note also that active requests which have already been dispatched to the web app may not reliably succeed in every situation as that's not something we've tested.
To guarantee constant availability I think you'll need to cluster two or more Virgo Tomcat Server instances and then perform a "rolling upgrade".