2.2. Review What's New and Different in JBoss EAP 6
Introduction
The following is a list of notable differences in JBoss EAP 6 from the previous release.
- Module based class loading
- In JBoss EAP 5, the class loading architecture was hierarchical. In JBoss EAP 6, class loading is based on JBoss Modules. This offers true application isolation, hides server implementation classes, and only loads the classes your application needs. Class loading is concurrent for better performance. Applications written for JBoss EAP 5 must be modified to specify module dependencies and in some cases, repackage archives. For more information, refer to Class Loading and Modules in the Development Guide for JBoss EAP 6 on https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
- Domain Management
- In JBoss EAP 6, the server can be run as a standalone server or in a managed domain. In a managed domain, you can configure entire groups of servers at once, keeping configurations synchronized across your entire network of servers. While this should not impact applications built for previous releases, this can simplify management of deployments to multiple servers. For more information, refer to About Managed Domains in the Administration and Configuration Guide for JBoss EAP 6 on https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
- Deployment Configuration
- Standalone Servers and Managed Domains
- JBoss EAP 5 used profile based deployment configuration. These profiles were located in the
EAP_HOME/server/
directory. Applications often contained multiple configuration files for security, database, resource adapter, and other configurations. In JBoss EAP 6, deployment configuration is done using one file. This file is used to configure all the services and subsystems used for the deployment. A standalone server is configured using theEAP_HOME/standalone/configuration/standalone.xml
file. For servers running in a managed domain, the server is configured using theEAP_HOME/domain/configuration/domain.xml
file. The information contained in the multiple JBoss EAP 5 configuration files must be migrated to the new single configuration file. - Ordering of deployments
- JBoss EAP 6 uses fast, concurrent initialization for deployment resulting in improved performance and efficiency. In most cases, the application server is able to automatically determine dependencies in advance and choose the most efficient deployment strategy. However, JBoss EAP 5 applications that consist of multiple modules deployed as EARs and use legacy JNDI lookups instead of CDI injection or resource-ref entries may require configuration changes.
- Directory Structure and Scripts
- As previously mentioned, JBoss EAP 6 no longer uses profile based deployment configuration, so there is no
EAP_HOME/server/
directory. Configuration files for standalone servers are now located in theEAP_HOME/standalone/configuration/
directory and deployments are located in theEAP_HOME/standalone/deployments/
directory. For servers running in a managed domain, configuration files can be found in theEAP_HOME/domain/configuration/
directory.In JBoss EAP 5, the Linux scriptEAP_HOME/bin/run.sh
or Windows scriptEAP_HOME/bin/run.bat
was used to start the server. In JBoss EAP 6, the server start script is dependent on how you run your server. The Linux scriptEAP_HOME/bin/standalone.sh
or Windows scriptEAP_HOME/bin/standalone.bat
is used to start a standalone server. The Linux scriptEAP_HOME/bin/domain.sh
or Windows scriptEAP_HOME/bin/domain.bat
is used to start a managed domain. - JNDI Lookups
- JBoss EAP 6 now uses standardized portable JNDI namespaces. Applications written for JBoss EAP 5 that use JNDI lookups must be changed to follow the new standardized JNDI namespace convention. For more information about JNDI naming syntax, see Section 3.1.8.2, “Portable EJB JNDI Names”.
For additional information, refer to New and Changed Features in JBoss EAP 6 in the Development Guide for JBoss EAP 6 on https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.