Jon Faldmo had run into a similar issue. We had given him a patch that would allow him to restore the sequential startup of webapps by setting a new "com.sun.enterprise.web.sequentialStart" system property to "true". Notice that the default in GlassFish v2.1 is for webapps to be started in parallel.
I just filed and committed a fix for
https://glassfish.dev.java.net/issues/show_bug.cgi?id=7241 ("Restore ability to start webapps sequentially (instead of in parallel)") to the trunk.
I think this would be something worth trying on your side.
The above system property is more of a workaround than it is a fix to the locking issue, but it may still be useful as a start.
[Message sent by forum member 'jluehe' (jluehe)]
http://forums.java.net/jive/thread.jspa?messageID=334304