tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Uwe Günther <...@cscc.de>
Subject Re: 6.0.20 - New behavior on conf/Catalina/<host>/<ctxpath>.xml update. Why redeploy?
Date Thu, 01 Oct 2009 18:38:56 GMT
Igor Mukhin wrote:
> I just tried to reproduce the issue on the server from yesterday. The 
> application is reloaded just fine. No deletions/undeployments.
> 
> I love Tomcat again.
> Thanks, Mark.

Igor, I had a look in the code as well in the past week because of some 
issues in the manager webapp. A save workarround could be useing the JMX 
interface of HostConfig.java:

1.) Start up Tomcat with CATALINA_OPTS=-Dcom.sun.management.jmxremote

2.) Startup Suns jconsole on the same box and connect to your Tomcat 
process. There are some remote RMI ways as well to connect from a remote 
location.

3.) Go to the MBeans tab of jconsole

4.) Unfold Catalina|Deployer|<Hostname>|Operations

5.) Select "addServiced" and type in the textfield for the method 
parameter on the right panel the context path name of your webapp, e.g. 
'/myWebapp' and press the 'addService' button.

6.) Select "unmanageApp" and type in the textfield for the method 
parameter on the right panel the context path name of your webapp, e.g. 
'/myWebapp' and press the 'unmanageApp' button.

7.) Now do whatever you want with your webapp '/myWebapp', because 
HostConfig.java would not touch it anymore. It leaves it alone from now 
on. For example you can change the the configuration artifacts.

8.) Select "check" and on the right panel type in the textfield for the 
method parameter the context path name of your webapp, e.g. '/myWebapp' 
and press the 'check' button. This will kick of the deployment of your 
webapp '/myWebapp' after you have fixed your config for example.

9.) Select "removeServiced" and type in the textfield for the method 
parameter on the right panel the context path name of your webapp, e.g. 
'/myWebapp' and press the 'removeServiced' button. This brings 
HostConfig.java back in the game and your webapp will be periodicaly 
checked like before step 5.)

10.) With the 'isServiced' operation you could check if you removed it 
correctly from the serviced hashmap. In case HostConfig takes care of it 
it should return false.

'Serviced' is here more from your point of view. I understand it as some 
body else takes care of this webapp, not HostConfig.java

I know this is not that easy, but I just outline a save way for 
production to modify the webapp configuration artifact if something does 
not work as expected.

-- 
Kind Regards
Uwe Günther

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message