Does anyone have any advice on implementing Context Versioning (parallel
deployment) in Tomcat? It seems to have been a feature for quite some time.
Is it stable?   What are the typical issues people run into? JMX issues?
Classloader issues?

I've tried to do a parallel deployment with our applications as they exist
today, and I can already see a few problems we'd have to address.

1) We have a concept of a workdir where we will extract
configuration-related properties files, XML, etc... on initial start-up;
the workdir also contains working files related to things like XA
transaction logs and application-specific logging. We'd probably need to
append the context version to our workdir path so that each version can
have separate application logs, configuration settings, etc...

2) We use JMX MBeans throughout our apps to allow real-time configuration
of our applications. Since our apps weren't originally developed with
parallel deployment in mind, so a parallel deployment results in two app
versions trying to use the same JMX MBeans. I can see in our app logs when
I try to deploy two versions, the second version will
either throw an exception and fail to start because the MBean exists, or it
will try to destroy and recreate the MBean--which could cause issues if it
changes a setting that the first version of the app depended on. I assume
we will need to fix all our code to somehow version the MBeans so there
aren't conflicts.

3) Do third-party dependencies that use JMX pose any issues? We use jgroups
and log4j2. Both create their own mbeans, but it seems we have control over
the names they use.

Do you know if there are any other issues we need to consider? Words of
wisdom?

Thanks!

Dan

-- 








*NOTICE:* This e-mail message and all attachments transmitted with 
it are for the sole use of the intended recipient(s) and may contain 
confidential and privileged information. Any unauthorized review, use, 
disclosure, ​or distribution is strictly prohibited. The contents of this 
e-mail are confidential and may be subject to work product privileges. If 
you are not the intended recipient, please contact the sender by reply 
e-mail and destroy all copies of the original message.



Reply via email to