Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-969

EJB3Deployer locking jars in deploy dir

    XMLWordPrintable

    Details

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  wolfc Carlo de Wolf
                  Reporter:
                  brian.stansberry Brian Stansberry
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: