WildFly Class Loading: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(2 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=
Line 16: Line 17:
=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=
Line 25: Line 26:
# '''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




Migrating from https://home.feodorov.com:9443/wiki/Wiki.jsp?page=JBoss7ClassLoading


External

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:

  1. System Dependencies - these are the dependencies that are automatically added by the container. For more details see implicit dependencies.
  2. 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.
  3. Local Resources - class files packaged inside the deployment itself (example, classes from WEB-INF/classes or WEB-INF/lib in a WAR file.
  4. 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

Organizatorium