java - classloading - jboss-deployment-structure exclusions
¿Cuándo y por qué necesitaría un jboss-deployment-structure.xml para una aplicación Spring? (2)
Estoy tratando de entender cómo usar JBoss EAP6 con las aplicaciones Spring. Tengo una aplicación OpenShift de muestra y contiene un archivo jboss-deployment-structure.xml
.
Encontré algo de documentation sobre este archivo, pero no tengo claro por qué y cuándo se deben usar esos archivos con las aplicaciones Spring. El contenido es el siguiente:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<dependencies>
<module name="com.h2database.h2"/>
<module name="org.codehaus.jackson.jackson-core-asl"/>
<module name="org.codehaus.jackson.jackson-mapper-asl"/>
<module name="org.slf4j"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
¿Por qué hay que declarar dependencias a los módulos? ¿Y cuáles son los módulos en el paradigma de JBoss? ¿Es posible vivir sin este archivo xml?
Esto es lo que encontré en internet:
"Para evitar utilizar las API de registro proporcionadas por JBoss, debemos colocar el siguiente tipo de archivo" jboss-deployment-structure.xml "dentro de" / home / userone / ApplicationLevelLog4jDemo / src "para que podamos excluir las API de registro de jboss para nuestra aplicación y nuestra aplicación pueden usar su propia versión de las API de registro ".
Fuente: http://middlewaremagic.com/
Mientras no tenga problemas de carga de clases con su aplicación, no necesita el archivo jboss-deployment-structure.xml. Pero una vez que tenga problemas de este tipo, la administración de dependencias en jboss-deployment-structure.xml será su amigo.
Este artículo explica muy bien qué son los modules .
Creo que, en resumen, puede decir que todo lo que se implementa como WAR, JAR o EAR es un módulo. Estos módulos se conocen como módulos dinámicos . Junto a ellos hay módulos estáticos en $ JBOSS_HOME / modules. La única diferencia es cómo se empaquetan.