-
Bug
-
Resolution: Done
-
Blocker
-
AS 4.2.0 GA
-
None
-
None
In chasing down JBPAPP-171 I found that JBoss' deployment process tends to lock files in the deploy dir on Windows. (The farm dir as well, which is just a specialized form of deploy dir.)
Traced it down to the EJB3Deployer.accepts() functionality, particularly the hasEjbAnnotation() method. The first line in that method
Iterator it = ArchiveBrowser.getBrowser(di.url, new ClassFileFilter());
is causing the original jar in deploy to be scanned for annotations, rather than the copy in the server/.../tmp dir. That scan results in Windows filesystem locks on the deploy dir jar. Not always but seems like roughly 1/2 the time.
Changing that line to the following made the problem go away:
Iterator it = ArchiveBrowser.getBrowser(di.localUrl, new ClassFileFilter());
di.localUrl points to the tmp dir copy of the deployment.
- blocks
-
JBPAPP-171 ClusterFileTransferTestCase.testFarmDeploy fails to delete and copy
- Closed
-
JBAS-4415 ClusterFileTransferTestCase.testFarmDeploy fails to delete and copy
- Closed
- is duplicated by
-
EJBTHREE-834 EJB3 hot redeployment causes a permanently locked file handle
- Resolved