This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I have a question wrt to hot deployment in Jboss 4.2.x. If my application services are used by some different applications (like messaging, web service etc..). What will happen if i do a hot deploy? Are the old calls will be completed (with any locks before replacing the code)? or the hot deployment will be incosistent (with some old code and some new)? Bear with me if my question does not make any sense.
If you hot deploy a new application, none of the existing applications are effected.
If you hot deploy a new version of an existing application, then all current sessions for that application are invalidated. All users will have to log back in again and will lose any session-related data, unless the app is storing that data in a database and can get the info back. For example, a shopping cart kept in the http session will be lost, but a shopping cart kept in the database indexed by the customer's account number can be retrieved.
Due to this "lose existing sessions" behavior, many people recommend turning off hot deployment in production.
Thank you Peter for valuable response. My requirement is for the hot deployment of existing application. With your suggestion it sounds like my application will impact badly as most of the info in sessions.
Having hot-deployment sounds like more of a solution than a requirement. What is the underlying requirement? If you need 24x7 uptime while allowing software upgrades, there are ways to accomplish this without using hot-deployment.