Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-14132

jboss-ejb3.xml is ignored for exploded deployments

XMLWordPrintable

    • Undefined
    • ---
    • ---

      EjbJarParsingDeploymentUnitProcessor distinguishes between a WAR and JAR deployment based on the file extension of the name of the deployment root. For exploded deployments however, this deployment root may be a folder without any file extension. As a result the logic fails to detect either a JAR or WAR file and the ejb-jar.xml and jboss-ejb3.xml files are ignored. A better way could be to determine the extension from the name of DeploymentUnit instead.

      Code from: https://github.com/wildfly/wildfly/blob/master/ejb3/src/main/java/org/jboss/as/ejb3/deployment/processors/EjbJarParsingDeploymentUnitProcessor.java#L194-L213

          private static VirtualFile getDescriptor(final VirtualFile deploymentRoot, final String descriptorName) {
              // Locate the descriptor
              final VirtualFile descriptor;
              // EJB 3.1 FR 20.4 Enterprise Beans Packaged in a .war
              if (isWar(deploymentRoot)) {
                  // it's a .war file, so look for the ejb-jar.xml in WEB-INF
                  descriptor = deploymentRoot.getChild(WEB_INF + "/" + descriptorName);
              } else if (deploymentRoot.getName().toLowerCase(Locale.ENGLISH).endsWith(JAR_FILE_EXTENSION)) {
                  descriptor = deploymentRoot.getChild(META_INF + "/" + descriptorName);
              } else {
                  // neither a .jar nor a .war. Return
                  return null;
              }
      
              if (descriptor == null || !descriptor.exists()) {
                  // no descriptor found, nothing to do!
                  return null;
              }
              return descriptor;
          }
      

       

       

      I encountered this issue on WildFly 14.0.1.Final, but the code is also present in the current master and goes back to versions as early as 7.1.

              cfang@redhat.com Cheng Fang
              jwgmeligmeyling Jan-Willem Gmelig Meyling (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: