I have seen a statement (in AOP, I believe) that in 4.05 JBoss deploys modules in the order in which they appear in application.xml.
Read more about the jboss-service.xml
C:\jboss-4.0.2\server\default\conf\jboss-service.xml ... <!-- ==================================================================== --> <!-- Deployment Scanning --> <!-- ==================================================================== --> <!-- An mbean for hot deployment/undeployment of archives. --> <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner" name="jboss.deployment:type=DeploymentScanner,flavor=URL"> <!-- Uncomment (and comment/remove version below) to enable usage of the DeploymentCache <depends optional-attribute-name="Deployer">jboss.deployment:type=DeploymentCache</depends> --> <depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends> <!-- The URLComparator can be used to specify a deployment ordering for deployments found in a scanned directory. The class specified must be an implementation of java.util.Comparator, it must be able to compare two URL objects, and it must have a no-arg constructor. Two deployment comparators are shipped with JBoss: - org.jboss.deployment.DeploymentSorter Sorts by file extension, as follows: "sar", "service.xml", "rar", "jar", "war", "wsr", "ear", "zip", "*" - org.jboss.deployment.scanner.PrefixDeploymentSorter If the name portion of the url begins with 1 or more digits, those digits are converted to an int (ignoring leading zeroes), and files are deployed in that order. Files that do not start with any digits will be deployed first, and they will be sorted by extension as above with DeploymentSorter. --> <attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute> <!-- <attribute name="URLComparator">org.jboss.deployment.scanner.PrefixDeploymentSorter</attribute> -->
PeterJ is right, the ordering within an ear was supposed to be based on the order in which the modules have been mentioned in the application.xml. However, looks like this was broken sometime back as per this issue: