2. New Features
JBoss Enterprise Application Platform 6 is based upon JBoss Application Server 7.1.2. It supports the Java Enterprise Edition 6 specification (including the new Web Profile). Some of the key features of JBoss Enterprise Application Platform 6 include:
- Fully-modular classloading system - Classes are loaded and unloaded as needed, for a small footprint and efficient use of system resources. This makes the container slim by default, and increases security by only exposing APIs you actually use.
- Flexible management - You can manage the Enterprise Application Platform using the web-based Management Console, console-based Management CLI, or the Management API, which uses a REST-like interface and JSON output. You can use batch scripts or custom applications, to ease administration.
- Managed domains - Managed domains combine virtual servers on physical hosts into server groups, which share configuration and deployments which propagate automatically. All configuration is performed centrally, from the domain controller. You can also run multiple instances on the same physical host easily, due to the socket binding groups and automatic port offsets.
- Fast server starts and restarts - Developers will appreciate how quickly JBoss Enterprise Application Platform starts and restarts. This has benefits in production environments, but is indespensible in development environments where frequent restarts are necessary. Less time spent waiting means more time spent developing.
- Infinispan can be used as the cache provider for the HornetQ second-level cache and the HTTP session cache.
- JBoss Enterprise Application Platform 6 is compliant with Section 508 of the Americans With Disabilities Act, for ease of use for users of assistive technologies.
- JBoss Enterprise Application 6's web-based Management Interface and log messages are internationalized and localized into Japanese, Simplified Chinese, French, German, Portuguese, and Spanish.
2.1. Specific New Features
The following new features are a small representation of overall improvements of JBoss Enterprise Application Platform 6. Refer to the individual URLs of the bugs for more details.
Clustering
- JBPAPP-8574 - An external mechanism for determining the master status of a
SingletonService
is now exposed. - JBoss Enterprise Application Platform 5 provides an API to determine if a singleton service is active on a given cluster node. JBoss Enterprise Application Platform 6 includes a similar feature via the
org.jboss.as.clustering.singleton.Singleton.isMaster
method.
Hibernate / JPA
- Obtain an Entity By A Natural Identifier
- In the past, you have been able to obtain an entity by an identifier. One of the new features of Hibernate 4.x, which is included as a component of JBoss Enterprise Application Platform 6, is the ability for an application to obtain an entity by using a natural identifier. This feature is provided via the
session.byId()
andsession.bySimpleNaturalId(AAA.class).load
methods of theResource
class. The following is a simple example of this feature.import java.lang.String; @Entity public class User { @Id @GeneratedValue Long id; @NaturalId String system; @NaturalId String userName; ... } // use getReference() to create associations... Resource aResource = (Resource) session.byId( Resource.class ).getReference( 123 ); User aUser = (User) session.byNaturalId( User.class ) .using( "system", "prod" ) .using( "userName", "steve" ) .getReference(); aResource.assignTo( user ); // use load() to pull initialzed data return session.byNaturalId( User.class ) .using( "system", "prod" ) .using( "userName", "steve" ) .load();