Deployable JBoss Java Archives 

Joined:
03/21/2010
Posts:
49

December 31, 2010 12:41:05    Last update: December 31, 2010 12:41:05
The JBoss JARStructure class determines whether a deployment, in the form of a file or a directory, represents a packaged or unpackaged JAR archive. If the deployment is a single file then the filename suffix is checked against the following list. If the deployment is a directory then the same check is performed using the directory name. If a match is found in either case, then the deployment is considered a JAR archive.

A top level directory is always considered an unpackaged JAR archive, even when the suffix does not match.
  • .zip - a standard archive
  • .jar - a java archive (defined by the Java SE specification)
  • .ear - an enterprise archive (defined by the Java EE specification)
  • .rar - a resource archive (defined by the Java EE specification)
  • .war - a web archive (defined by the Java EE specification)
  • .sar - a service archive (defined by JBoss)
  • .har - a hibernate archive (defined by JBoss)
  • .aop - an aspect archive (defined by JBoss)


This is the bean definition in $JBOSS_HOME/server/default/conf/bootstrap/deployers.xml:
<!-- JAR Structure -->
<bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
       <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
       <constructor>
          <parameter>
             <set elementClass="java.lang.String">
                <value>.zip</value>
                <value>.ear</value>
                <value>.jar</value>
                <value>.rar</value>
                <value>.war</value>
                <value>.sar</value>
                <value>.har</value>
                <value>.aop</value>
                <value>.deployer</value>
                <value>.beans</value>
             </set>
          </parameter>
       </constructor>
       <property name="candidateStructureVisitorFactory">
          <!-- Any file that is not an ordinary directory is a candidate -->
          <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
             <!-- A filter to exclude some obvious non-subdeployments -->
             <property name="filter">
                <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
                   <constructor><parameter>
                      <list elementClass="java.lang.String">
                         <!-- Exclude class files as subdeployments -->
                         <value>.class</value>
                      </list>
                   </parameter></constructor>
                </bean>
             </property>
          </bean>
       </property>
</bean>
Share |
| Comment  | Tags