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

Govind N picture Govind N · Apr 29, 2010 · Viewed 7.2k times · Source

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 to set Context.antiResourceLocking to false in server.xml. I had some questions on antiResourceLocking and antiJARLocking. I have gone through the reference at http://tomcat.apache.org/tomcat-6.0-doc/config/context.html.

What I can't understand is what exactly do you mean by a JAR getting locked or a resource getting locked. What I have read so far is that the locking problem usually comes when you are undeploying an application which fails due to a process having a lock on the file/jar. Can someone please point me to anything where I can read more on this issue?

My questions are: 1) If I set antiJARLocking and/or antiResourceLocking to false what are the problems that I can get? Can some one please provide an example? 2) Is it a bad practice to set these attributes to false in a production environment? 2) Is it true that locking won't occur on a Linux box as frequently as it can happen on a Windows box?

Appreciate your help.

Thank you.

Govind N.

Answer

Yavin5 picture Yavin5 · Sep 1, 2010

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)