WildFly Class Loading: Difference between revisions
Jump to navigation
Jump to search
Migrating from https://home.feodorov.com:9443/wiki/Wiki.jsp?page=JBoss7ClassLoading
No edit summary |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 8: | Line 8: | ||
* Class Loading in AS7 https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7 | * Class Loading in AS7 https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7 | ||
* Module Compatible Class Loading Guide https://developer.jboss.org/wiki/ModuleCompatibleClassloadingGuide | |||
=Internal= | =Internal= | ||
* [[WildFly#Subjects|WildFly]] | * [[WildFly#Subjects|WildFly]] | ||
* [[WildFly Modules|Modules]] | |||
=Overview= | =Overview= | ||
WildFly class loading relies on [[WildFly Modules#Overview|modules]] that have to define explicit dependencies on other modules. This model is different from the previous EAP 5 hierarchical class loading model. | WildFly class loading relies on [[WildFly Modules#Overview|modules]] that have to define explicit dependencies on other modules. This model is different from the previous EAP 5 hierarchical class loading model. The implementation of the modular class loading system is provided by the <tt>jboss-modules</tt> library. | ||
=Class Loading Precedence= | =Class Loading Precedence= | ||
WildFly adds module dependencies for a JEE deployment in a very specific order, starting from the highest priority to the lowest priority: | WildFly adds module dependencies for a JEE deployment in a very specific order, starting from the highest priority to the lowest priority: | ||
# '''System Dependencies''' - these are the dependencies that are automatically added by the container. For more details see [[WildFly Modules# | # '''System Dependencies''' - these are the dependencies that are automatically added by the container. For more details see [[WildFly Modules#Implicit_Dependencies|implicit dependencies]]. | ||
# '''User Dependencies''' - these are the dependencies that are added through <tt>[[jboss-deployment-structure.xml]]</tt>, through the <tt>Dependencies:</tt> manifest entry for modules or through <tt>Class-Path:</tt> for JAR files. | # '''User Dependencies''' - these are the dependencies that are added through <tt>[[jboss-deployment-structure.xml]]</tt>, through the <tt>Dependencies:</tt> manifest entry for modules or through <tt>Class-Path:</tt> for JAR files. | ||
# '''Local Resources''' - class files packaged inside the deployment itself (example, classes from <tt>WEB-INF/classes</tt> or <tt>WEB-INF/lib</tt> in a WAR file. | # '''Local Resources''' - class files packaged inside the deployment itself (example, classes from <tt>WEB-INF/classes</tt> or <tt>WEB-INF/lib</tt> in a WAR file. | ||
# '''Inter-Deployment Dependencies''' - dependencies on other deployments in an EAR deployment. This can include classes in an EAR's <tt>lib</tt> directory or classes defined in other EJB JARs. | # '''Inter-Deployment Dependencies''' - dependencies on other deployments in an EAR deployment. This can include classes in an EAR's <tt>lib</tt> directory or classes defined in other EJB JARs. | ||
=Source= | |||
<blockquote style="background-color: AliceBlue; border: solid thin LightSteelBlue;"> | |||
:GitHub: https://github.com/jboss-modules<br> | |||
</blockquote> | |||
=Organizatorium= | =Organizatorium= |
Latest revision as of 23:11, 10 March 2016
External
- Class Loading in AS7 https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7
- Module Compatible Class Loading Guide https://developer.jboss.org/wiki/ModuleCompatibleClassloadingGuide
Internal
Overview
WildFly class loading relies on modules that have to define explicit dependencies on other modules. This model is different from the previous EAP 5 hierarchical class loading model. The implementation of the modular class loading system is provided by the jboss-modules library.
Class Loading Precedence
WildFly adds module dependencies for a JEE deployment in a very specific order, starting from the highest priority to the lowest priority:
- System Dependencies - these are the dependencies that are automatically added by the container. For more details see implicit dependencies.
- User Dependencies - these are the dependencies that are added through jboss-deployment-structure.xml, through the Dependencies: manifest entry for modules or through Class-Path: for JAR files.
- Local Resources - class files packaged inside the deployment itself (example, classes from WEB-INF/classes or WEB-INF/lib in a WAR file.
- Inter-Deployment Dependencies - dependencies on other deployments in an EAR deployment. This can include classes in an EAR's lib directory or classes defined in other EJB JARs.
Source
- GitHub: https://github.com/jboss-modules