Announcement Announcement Module
No announcement yet.
Deploy class without restarting application Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Deploy class without restarting application

    In a production environment, (not debugging mode with hotswap) does anyone know of a application server or any kind of technology that enables you to update a web application without restarting it?

    I've looked for a while but can't seem to find anything that will let you. I'm looking for this feature basically because if I need to make a small change to the application in the middle of the day, I don't want anyone to lose their sessions.

    Any suggestions are appreciated.

  • #2
    Hummm, fun. :-)

    I've seen something very similar done with weblogic (version 6.1 in this instance) when deployed in a cluster. Bring down one node, roll out the app, restart it. Then bring down the other one and do the same. Theoretically with session replication turned on, the users' sessions get migrated to the other app server and then back again so there's no disruption.

    To me it seems like there are a few issues that would keep this from working, but my friend does it all the time and I've seen it work. You have to be careful of course that your session objects and anything else that's clustered is still API-compatibiliity (and sessions probably serialize-compatible as well).

    Weblogic 9 is supposedly going to include first class support for this. I believe it tags the sessions with a version. Then when you deploy a new version in place, users with old sessions keep going to the old version of the application until they are finished, and new incoming users get the new version.


    • #3
      Tomcat works for me. My ant script deploys *.jsp and *.class files to application's folder under webapps. But if I deploy *.war file I need to restart the server.


      • #4
        sorry, did not notice your requirement to hold the session...