Chapter 2. New Features and Enhancements
2.1. Security
Server Blocks Non-SSL IIOP Socket When SSL Is Required
When the server-requires-ssl attribute is set to true in the IIOP subsystem, the server will now block attempts to connect to the non-SSL socket.
FIPS 140-2 Compliant Cryptography Using the BouncyCastle Providers
You can use the BouncyCastle providers to configure a FIPS compliant instance of JBoss EAP using the elytron subsystem. Full instructions are available at Enable FIPS 140-2 Cryptography for SSL/TLS Using BouncyCastle in the How to Configure Server Security guide.
Define a FIPS 140-2 Compliant Credential Store Using the BouncyCastle Providers
You can use the BouncyCastle providers to obtain a FIPS compliant credential store. These credential stores can be defined using either of the following methods.
-
For instructions on defining the credential store directly through the
elytronsubsystem, see Define a FIPS 140-2 Compliant Credential Store Using the BouncyCastle Providers. - For instructions on defining the credential store offline using the WildFly Elytron tool, see Create and Modify Credential Stores Offline with the WildFly Elytron Tool.
2.2. Java EE 8
This continuous delivery release for JBoss EAP no longer requires that you set the ee8.preview.mode system property to use Java EE 8 features. It supports Java EE 8 by default.
2.3. Server Management
Using Git to Manage Configuration Data
You can now use Git to manage and persist your server configuration data, properties files, and deployments. This not only allows you to manage the version history, but it also allows you to share server and application configurations across multiple servers and nodes using one or more Git repositories. This feature only works for standalone servers that use the default configuration directory layout.
For more information, see Using Git to Manage Configuration Data in the Configuration Guide.
Support for Eclipse MicroProfile Config
JBoss EAP now supports Eclipse MicroProfile Config, which provides portable externalization of configuration data. Support is implemented using the SmallRye Config component and is provided by the microprofile-config-smallrye subsystem. This support allows applications and microservices to be configured to run in multiple environments without a need for modification or repackaging.
For more information, see Using Eclipse MicroProfile Config to Manage Configuration in the Configuration Guide.
Kill Servers in a Server Group
The kill-servers operation is now available for server groups in a managed domain. This is useful in cases where a problem is causing all servers in a server group to hang, so that you can kill all of the server processes in one operation as opposed to performing the kill operation on each server.
2.4. Datasources
Retrieve Datasource Class Properties for a JDBC Driver
The datasource-class-info runtime attribute provides the list of datasource connection properties that can be set for a JDBC driver’s datasource class. When using the management console to add or edit an XA datasource, or edit a non-XA datasource, the properties field provides this list of properties as suggestions.
The JDBC driver must have been created with the driver-datasource-class-name or driver-xa-datasource-class-name set for the properties to be shown. In a managed domain, the profile containing the JDBC driver must have a running server for the properties to be shown.
For more information, see the Datasource Attributes table in the Configuration Guide.
2.5. Hibernate
Upgraded from Hibernate ORM 5.1 to Hibernate ORM 5.3
JBoss EAP 7.2 now includes Hibernate ORM 5.3. Hibernate ORM 5.3 includes changes that were made for Hibernate ORM 5.2, which was built using the Java 8 JDK and required the Java 8 JRE at runtime. Hibernate ORM 5.3 also adds support for the JPA 2.2 specification. It contains changes to comply with this specification, along with other improvements.
For more information about the features introduced in Hibernate ORM 5.2 and 5.3, along with what you need to know to migrate your applications from Hibernate ORM 5.1 to Hibernate ORM 5.3, see Migrating from Hibernate ORM 5.1 to Hibernate ORM 5.3 in the Migration Guide for JBoss EAP.
Upgraded from Hibernate Validator 5.3.x to Hibernate Validator 6.0.x
JBoss EAP 7.2 includes Hibernate Validator 6.0.x, which is the reference implementation for JSR 380: Bean Validation 2.0.
For more information, see About Bean Validation in the Development Guide for JBoss EAP.
2.6. Clustering
Enhanced Execute Methods Use CompletableFuture
In this release, CommandDispatcher asynchronous methods were enhanced to take advantage of the new Java EE 8 CompletableFuture interface. This allows consumers of CommandDispatcher to implement non-blocking handling of dispatched commands.
| Deprecated Method | Replacement Method |
|---|---|
| executeOnNode | executeOnMember |
| executeOnCluster | executeOnGroup |
| submitOnNode | executeOnMember |
| submitOnCluster | executeOnGroup |
For more information, see Public API for Clustering Services in the Development Guide.
2.7. Infinispan
HotRod Client Injection
You can inject a HotRod client to connect to a remote JDG cluster using the @Resource JNDI injection.
For more information, see Externalize HTTP Sessions to JBoss Data Grid in the Configuration Guide.
Non-blocking Initial State Transfer
Caches can now be made immediately available instead of waiting for state transfer to complete. This is accomplished by setting the timeout attribute of the cache to 0, allowing the cache to receive its state through background operations.
For more information, see State Transfer in the Configuration Guide.
2.8. Logging
Socket Log Handlers
You can now configure a socket log handler to send log messages over a TCP or UDP socket to a remote logging server.
For more information, see Configure a Socket Log Handler in the Configuration Guide.
2.9. Messaging
IBM MQ Resource Adapter
This release of JBoss EAP was tested with the the following configurations.
- The IBM MQ 8.0.0.10 resource adapter was tested against the IBM MQ 8.0.0.x broker. Versions 8.0.0.0 through 8.0.0.9 of the IBM MQ resource adapter are not supported.
- The IBM MQ 9.0.0.4 resource adapter was tested against the IBM MQ 9.0.0.x broker. Versions 9.0.0.0 through 9.0.0.3 of the IBM MQ resource adapter are not supported.
For more information about the IBM MQ resource adapters, see Deploying the IBM MQ Resource Adapter in Configuring Messaging for JBoss EAP.
Messaging Journal Persistence Using a JDBC Database
In addition to the currently supported Oracle 12c database, this release of JBoss EAP adds support for the IBM DB2 Enterprise database when using JDBC to persist messages.
Support for HA Topology for Messaging JDBC Persistence Store
This release of JBoss EAP supports HA topology for messaging JDBC persistence store. For details, see Configuring HA for Messaging JDBC Persistence Store in Configuring Messaging for JBoss EAP.
Simplifying Connection to Remote Red Hat AMQ 7 Messaging Broker
Connection to Remote Red Hat AMQ 7 messaging broker no longer requires the presence of JBoss EAP’s embedded messaging broker. You can define resources required for connection to remote Red Hat AMQ broker directly in the messaging-activemq subsystem.
2.10. Management CLI
Keyboard Navigation Shortcuts
The management CLI now supports several ways to navigate around when editing a management CLI command. The keyboard shortcuts to use depend on which platform you are using. See Use Keyboard Navigation Shortcuts in the Management CLI Guide for the list of supported shortcuts.
Generate Output for HTTP Management API
The echo-dmr command provides a new --compact argument to display content on a single line. When used with the --output-json management CLI startup argument, this argument allows you to generate output that can be directly consumed by the HTTP Management API.
Management CLI Output Scrolling
The management CLI now supports scrolling directly inside the console if the output is longer than the terminal window. You can use the scroll wheel, directional arrows, or the PgUp, PgDn, Home and End keys to navigate through the output.
On Windows this feature is only available beginning with Windows Server 2016. There are no issues with other operating systems.
Searching Management CLI Output
You can now search multi-page output in the management CLI. See Searching Multi-page Output in the Management CLI Guide for more information.
2.11. Transactions
New maximum-timeout Transaction Manager Attribute
Previously, when users set a transaction timeout of 0, which implies an unlimited timeout, the transaction manager used Integer.MAX_VALUE as the actual value for the transaction timeout. Because the maximum integer value could exhibit problems, the transaction timeout value is now capped at a smaller value.
A new configurable attribute, maximum-timeout has been added to the transactions subsystem with a default value of 31536000 seconds (365 days). If a transaction is configured with an unlimited timeout, the transaction manager now uses the value of maximum-timeout instead, and a WARN message notifying this behavior is logged.
2.12. Web Services
Java API for JSON Binding
RESTEasy supports both JSON-B and JSON-P. In accordance with the specification, entity providers for JSON-B take precedence over the ones for JSON-P for all types of entities except JsonValue and its sub-types.
The JsonBindingProvider property from resteasy-json-binding-provider module provides support for JSON-B. To satisfy JAX-RS 2.1 requirements, the JsonBindingProvider provider takes precedence over the other providers for dealing with JSON payloads, in particular the Jackson payload. In order to retain backward compatibility, you can set the resteasy.preferJacksonOverJsonB context property to true and disable the JsonBindingProvider configuration for the current deployment.
For details, see the Java API for JSON Binding section in the Developing Web Services Applications for JBoss EAP.
Asynchronous HTTP Request Processing
The default asynchronous engine implementation class for RESTEasy is ApacheHttpAsyncClient4Engine. You can set the asynchronous engine as the active engine by calling the useAsyncHttpEngine method in the ResteasyClientBuilder class.
For details, see the Asynchronous NIO Request Processing section in the Developing Web Services Applications for JBoss EAP.
Custom RESTEasy Annotations
With the addition of parameter names in the bytecode, you are no longer required to specify the parameter names in the following annotations: @PathParam, @QueryParam, @FormParam, @CookieParam, @HeaderParam and @MatrixParam. To do so, you must switch to the new annotations with the same name, in a different package, which have an optional value parameter.
For details, see the Custom RESTEasy Annotations section in the Developing Web Services Applications for JBoss EAP.
Extending the ParamConverter Functionality
In the JAX-RS semantics, a ParamConverter converts a single string that represents an individual object. RESTEasy extends the semantics to allow a ParamConverter to parse the string representation of multiple objects and generate a List<T>, Set<T>, SortedSet<T>, array, or any other multi-valued data structure.
For details, see the Extending the Functionality of the ParamConverter section in the Developing Web Services Applications for JBoss EAP.
Resource Method Algorithm Switch
A bug discovered in the resource method matching algorithm used in RESTEasy 3.0.x versions prior to 3.0.25.Final caused RESTEasy to return too many resource methods when responding to requests. For more information, see JAX-RS and RESTEasy Application Changes in the Migration Guide.
RESTEasy Service Provider Interface
JBoss EAP now provides a RESTEasy service provider interface (SPI) to modify resource class metadata, which is created using ResourceBuilder. Implementations of the ResourceClassProcessor interface allows customizing the metadata generation.
For more information about the RESTEasy SPI, see the RESTEasy SPI to Modify Resource Metadata section in the Developing Web Services Applications for JBoss EAP.
2.13. Quickstarts and BOMs
JBoss EAP BOMs Available for Application Development
The artifact IDs for JBoss EAP Maven BOM files have changed because of the update to Java EE 8. The following table lists the Maven BOMs that are available for application development in this release.
| BOM Artifact ID | Use Case |
|---|---|
| jboss-eap-javaee8 | Supported JBoss EAP Java EE 8 APIs plus additional JBoss EAP API JARs. |
| jboss-eap-javaee8-with-spring4 |
|
| jboss-eap-javaee8-with-tools |
|
For more information about the BOMs available for application development, see Manage Project Dependencies in the Development Guide.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.