We are currently using the JBoss AS6 version and we need to make the migration to JBoss EAP6.1 version, which has changed the way to do the ClassLoading, with ‘Modules way’. Actually we have a group of libraries on domain, server side (com.bs.proteo.common.*.jar), and the third party dependencies of it, that are referenced by a SAR file that we deploy a MBean statement, along with the file jboss-deployment-structure.xml identifying explicit modules to load.
The MBean statement loads the Application Context with a XML File, ‘common-config.xml’, in a common way as does Spring with our libraries. Now, with JBoss EAP6.1, declares these libraries like a new Modules with com.bs.proteo.arq.domain.main identifier and subfolders within modules system. Our libraries have dependencies on third parties and must be explicitly included, like springframework, commons-logging and others, in a Modules. Currently the ClassLoading works correctly and JBoss starts up.
To achieve this, we have added as dependencies to file org.jboss.as.jmx.main.module.xml our domain libraries(Module com.bs.proteo.arq.domain, Module com.bs.proteo.arq.support.others) and dependencies of it (Module org.springframework, etc).
- Is there any way to explicitly load our libraries, including third-party dependencies without modifying the org.jboss.as.jmx.main.module.xml file?
- Modifying this file (module.xml of JMX Module) is a good practice?
- Modules must be declared as all third-party dependencies of our libraries?