Tomcat 6 | What's the significance of antiResourceLocking & antiJARLocking?

前端 未结 2 998
深忆病人
深忆病人 2020-12-20 18:40

I am working on a project where we\'ll be using Tomcat 6.0.20 for Development and production.

I came across some issues related to hot deployment which requires one

相关标签:
2条回答
  • 2020-12-20 18:59

    Here are my answers to these:

    1) From what I can tell, setting antiJARLocking and/or antiResourceLocking to false could only cause problems on Windows (though I vaguely remember a Tomcat developer claiming that it also affects Linux -- I'm disregarding that because I have seen zero evidence of it, and no examples / detailed explanations proving it).

    2) It is only bad practice to set these to false when Tomcat is running on Windows.

    Second 2)!! I have been running Tomcat on multiple Linux distributions and versions for more than ten years. I have never once seen a jar locking or resource locking problem due to not setting one of those attributes to true. As far as I know, it doesn't happen, but it might depend on the filesystem implementation you're using, and I always either used EXT2, EXT3, or EXT4.

    If you still have questions about this, ask about it on the Tomcat-user mailing list.

    Cheers!

    Jason Brittain Co-author, Tomcat: The Definitive Guide (O'Reilly)

    0 讨论(0)
  • 2020-12-20 18:59

    1) I had built a system around svn to automatically build and deploy a webapp, the deployment was made via the Tomcat ant tasks, and with antiJARLocking and/or antiResourceLocking to false the application was not undeployed properly, because tomcat could not delete some jars and the log4j.properties config file, thus the deploy failed. So I had to set these properties to true, and tomcat did a copy of the webapp in the temp dir. This makes the deployment slower and with nearly each redeploy the temp dir grew in size, so I had to make a procedure to delete older deployments of my app from the temp dir. It is safe to delete deployments from the temp dir at any time, because tomcat will redeploy the app to the temp dir.

    2) From the tomcat docs I understood that the problems with jar locking or resource locking occur only on Windows. I wouldn't set these properties to true in a production environment, because there's no need to redeploy so often, and with java it's always a good idea to do a server restart after redeploy in production (an OutOfMemoryError is always lurking in the dark, even if your own code doesn't leak). Another minor issue is that the app being deployed to the temp dir, if you modify a jsp or another file in the webapps dir, it won't be redeployed unless you copy the changes to the temp dir also.

    0 讨论(0)
提交回复
热议问题