Red Hat JBoss Enterprise Application Platform 7.1 Release Notes (Alpha)

Updated -

About Red Hat JBoss Enterprise Application Platform 7.1

Red Hat JBoss Enterprise Application Platform 7.1 (JBoss EAP) is a middleware platform built on open standards and compliant with the Java Enterprise Edition 7 specification.
JBoss EAP includes a modular structure that allows service enabling only when required, improving startup speed.
The management console and management command-line interface (CLI) make editing XML configuration files unnecessary and add the ability to script and automate tasks.
JBoss EAP provides two operating modes for JBoss EAP instances: standalone server or managed domain. The standalone server operating mode represents running JBoss EAP as a single server instance. The managed domain operating mode allows for the management of multiple JBoss EAP instances from a single control point.
In addition, JBoss EAP includes APIs and development frameworks for quickly developing secure and scalable Java EE applications.

Support Statement and Resources

Technical support is not provided for the Alpha release of JBoss EAP 7.1. The release is provided as a service to customers who want to try the latest release features.

Note: You should not deploy the Alpha release in production environments.

JBoss EAP 7.1 Beta will be the first supported release of the 7.1 version family.

During the Alpha phase, you can read these resources for additional information:

You can discuss issues and ask questions about the Alpha release by:

New Features and Enhancements

Security and Elytron

Elytron and the elytron Subsystem

Elytron and the elytron subsystem are new in JBoss EAP 7.1. During the Alpha release, refer to this community documentation that also applies to the Elytron implementation in JBoss EAP 7.1:

Elytron features in JBoss EAP 7.1 are based on the WildFly Elytron project, a security framework used to unify security across the entire application server. The elytron subsystem enables a single point of configuration for securing both applications and the management interfaces. It provides a set of APIs and SPIs for creating custom implementations of functionality and integration.

The elytron subsystem exists in parallel with the legacy security subsystem and legacy core management authentication. By default, JBoss EAP 7.1 uses the legacy security subsystem and core management authentication. You can find steps for enabling the Elytron configuration in the Use the Elytron and Security Subsystems in Parallel section of the Wildfly Elytron documentation.
Note: In the elytron subsystem, a secure credential store replaces the legacy vault implementation.

Important features of the elytron subsystem include:

  • Stronger authentication mechanisms for HTTP and SASL authentication.
  • Improved architecture that allows SecurityIdentities to be propagated across security domains and transparently transformed to make them ready for use for authorization. Transformation takes place using configurable role decoders, role mappers, and permission mappers.
  • Centralized point for SSL/TLS configuration, including cipher suites and protocols.
  • SSL/TLS optimizations such as eager SecureIdentity construction and closely tying authorization to establishing an SSL/TLS connection. Eager SecureIdentity construction eliminates the need for a SecureIdentity to be constructed on a per-request basis. Closely tying authentication to establishing an SSL/TLS connection enables permission checks to happen before the first request is received.
  • A secure credential store that replaces the legacy vault implementation. The secure credential store can store multiple other encrypted credential types in addition to encrypted strings. You can find details on creating and using a credential store in the Create and Use a Credential Store section of the Wildfly Elytron documentation. With the exception of the elytron subsystem, new and existing legacy vaults may still be used with other subsystems.

Management Console

Configuring Certain Subsystems in the Management Console

The ability to configure the following subsystems using the management console is a newly supported feature in JBoss EAP 7.1:

  • IO
  • Remoting
  • BeanValidation
  • Jaxrs
  • Jdr
  • Jsf
  • Jsr77
  • Naming
  • Pojo
  • RequestController
  • Sar
  • Singleton
  • Weld

Transaction Monitoring Management Console Support

JBoss EAP 7.1 provides enhanced transaction subsystem metrics as well as metrics of transaction resources such as JDBC and JMS resources in the management console.

Management Console use Select Boxes for Inputs Which Must be a Particular Value

In some text fields in the management console, as you type, values from elsewhere in the configuration may appear as suggestions.

Adding a JMS Bridge Using the Management Console

You can use the management console to add a JMS bridge. The option is available in ConfigurationSubsystemsMessaging-ActiveMQJMS BridgeViewAdd. Provide the required information and click Save when finished.

View, Commit, or Rollback Prepared Transactions Using the Management Console

You can use the management console to view, commit, or rollback prepared transactions. The option is available in RuntimeServerSubsystemsMessaging-ActiveMQ → Select provider → Prepared Transactions.

Test a Datasource Connection Using the Create Datasource Wizard in the Management Console

When using the Create Datasource wizard in the management console, you have the opportunity to test the connection before creating the datasource. On the Test Connection screen of the wizard, click the Test Connection button.

Track and View Configuration Changes from the Management Console

To enable to tracking of configuration changes from the management console, navigate to the Runtime tab, select the standalone server or managed domain host, and select Configuration Changes from the drop down. Click the Enable button and provide a maximum history value.
The table on this page then lists each configuration change made, with the date, origin, outcome, and operation details.

Configure a Filter Using the Management Console

You can configure an Undertow filter using the management console by navigating to Configuration → Subsystems → Web/HTTP - Undertow → Filters → View.

Manage Batch Jobs from the Management Console

In JBoss EAP 7.1, you can manage batch jobs from the management console. Navigate to the Runtime tab, select the server, and select Subsystems → Batch → View. Then open the Jobs tab.

Application Deployment Updates in Management Console

JBoss EAP 7.1 includes an updated management console user interface for application deployment. Click the Deployments tab. This includes:

  • The Explode option lets you unzip a disabled deployment.
  • The Browse Content option lets you browse the content as a tree-listing only. Navigation is not supported.
    If you select a deployment, you can view the whether the application is managed or archived in the Overview details.

Datasource Templates in Management Console

The datasource templates provided for creating new datasources in the management console are supported in JBoss EAP 7.1.


Full Support for Multi-JSF

JBoss EAP 7.1 provides full support for Multi-JSF. This feature enables a user to replace the JSF implementation provided with JBoss EAP with a user supplied JSF implementation.

Management CLI

echo-command Argument in Non-Interactive Mode

In JBoss EAP 7.1, the --echo-command argument is included for the non-interactive CLI mode. The --echo-command argument displays the prompt and command with the output. This can be useful when resolving failures by matching the output to the command that was executed.

$EAP_HOME/bin/ --connect --file=/path/to/cli_commands.txt --echo-command

The command and its output are displayed as it executes.

{"outcome" => "success", "result" => "NORMAL"}

ls /deployment

Specify Exported Dependencies for a Custom Module

JBoss EAP 7.1 provides the --export-dependencies argument to specify exported dependencies. For example:

module add --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --export-dependencies=javax.api,javax.transaction.api

Set Module Location During Creation of new Module Using Management CLI

In JBoss EAP 7.1, use the --module-root-dir argument if you have defined an external JBoss EAP modules directory to use instead of the default EAP_HOME/modules/ directory.

module add --module-root-dir=/path/to/my-external-modules/ --name=com.mysql --resources=/path/to/mysql-connector-java-5.1.36-bin.jar --dependencies=javax.api,javax.transaction.api

Command Timeout Value Available

JBoss EAP 7.1 provides many ways to configure the execution timeout for management CLI operations. For example, users can use command-timeout CLI command. Execution timeout is the maximum time, in seconds, to wait for a command to complete. A value of 0 means no timeout. By default, there is no timeout.

Management CLI Support for Response Attachments

In JBoss EAP 7.1, the attachment command is provided to display or save the content of the attached streams. This works for the management resources that can expose the contents as a stream.
The syntax is: attachment {display|save} --operation=<operation> [--file={local path to file} --overwrite]
For example: attachment save --operation=/subsystem=logging/log-file=server.log:read-attribute(name=stream) --file=test

Note: If a file name is not provided, then the management_CLI_working_directory/stream_uuid is used as the file path. The --file is not required if you only want to view the details.

Support for File Attachment Using Management CLI

In JBoss EAP 7.1, you can use the management CLI to attach a file to a management operation. For example, you can use the input-stream-index and target-path attributes of the add-content operation for deployments:




You can use the browse-content operation to browse the content of a deployment.


ejb-name tag in interceptor-binding Supports Regular Expression Usage

In JBoss EAP 7.1, you can use regular expressions in the ejb-name tag within interceptor-binding. For example:


Note: By default, this functionality is not enabled. To enable this, you must set the allow-ejb-name-regex attribute of ejb3 subsystem to true:


Full Support for Clustered Singleton MDBs

When an MDB is identified as a clustered singleton and deployed in a cluster, it will always be active only on one node at a time. When the server node fails or is shut down, the clustered singleton MDB is activated on a different node and starts consuming messages on that node.

rebalanceConnections Activation Configuration Property Available

JBoss EAP 7.1 provides the rebalanceConnections activation configuration property for MDBs. This parameter allows for rebalancing of all inbound MDB connections when the underlying Artemis cluster topology changes. The default value is false. There is no rebalancing for outbound connections.

Class Loading

Use of Absolute Paths in the resource-root Path Element

In JBoss EAP 7.1, the use of absolute paths in the resource-root path element of the module.xml file is supported. This way, your resource libraries can be made accessible without the need to move them to the EAP_HOME/modules directory.


Improved Reporting of Boot Errors Caused by Invalid XML Configuration Files

Prior to JBoss EAP 7.1, boot errors that occurred when parsing invalid server configuration files provided little feedback and were difficult to debug. JBoss EAP 7.1 uses XSD analysis to produce more informative error messages when encountering XML parsing errors. It now shows where the error occurred, provides feedback about the validation error, and, when possible, pulls and displays supporting documentation from the XSD to describe the issue. The enhanced validation of XML configuration does not include deployment descriptors of deployments.

server.log Includes the Information About the Patches Applied

Patch related information is logged in the server.log file during startup. This information is useful while debugging issues.


Undeploy all Deployments Using a Wildcard (*)

In JBoss EAP 7.1, you can also undeploy all deployments using a wildcard (*). For example:

undeploy *

You can also redeploy all disabled applications using a wildcard (*).

deploy --name=*

Exploded Managed Deployments

In JBoss EAP 7.1, you can create exploded managed deployments and manipulate their contents using the deployment management operations.

Support for Browsing Content Repository

JBoss EAP 7.1 provides operations to browse and read content of managed deployments using the management CLI or console.

Using the Management CLI
  • Create a simple managed deployment:

  • Use the read-content operation:

    "outcome" => "success",  
    "result" => {"uuid" => "d97fb694-ab10-4736-963e-a21bd45af76e"},  
    "response-headers" => {"attached-streams" => [{  
        "uuid" => "d97fb694-ab10-4736-963e-a21bd45af76e",  
        "mime-type" => "text/plain"  
  • Use the new attachment management CLI operation that allows to display or save the content of that attached stream, to display:

    attachment display --operation=/deployment=test.war:read-content(path=META-INF/MANIFEST.MF)  
    ATTACHMENT d0c7e210-1a90-4046-800e-53e71dfe977d:  
    Manifest-Version: 1.0  
    Ant-Version: Apache Ant 1.9.7  
    Created-By: 1.8.0_111-b14 (Oracle Corporation)  
    Dependencies: org.wildfly.broken   
  • To save, the file is saved in the management CLI working directory:

    attachment save --operation=/deployment=test.war:read-content(path=META-INF/MANIFEST.MF)  
    File saved to /home/bin/0224e5f5-a57c-4735-8762-47db324f31d9  

Note: For information about the attachment operation, see Management CLI Support for Response Attachments.

Using the Management Console

Click the Deployments tab and select the deployment you want to browse. Click ViewBrowse Content. The links to download the files included in the deployment are displayed.


Migrate from Hibernate ORM 5.0 to Hibernate ORM 5.1

JBoss EAP 7.1 now includes Hibernate ORM 5.1. The Hibernate ORM 5.1 release includes many performance improvements and bug fixes. It also introduces the following new features and improvements.

  • In Hibernate Query Language (HQL), you can define a join to an entity, not just a mapped association.
  • In addition to providing the ability to load a single identity by identifier, the API now also supports loading multiple entities of the same type by identifier by using the Hibernate native API Session interface.
  • This release offers improvements in CDI integration, including solutions to the issue that occurs when Hibernate attempts to access the CDI BeanManager too soon. For more information, see HHH-8706 and HHH-10477.
  • Previous releases of Hibernate interpreted all null column values for an @Embeddable to mean the @Embeddable itself should be null. In this release, applications can dictate that Hibernate should instead use an empty @Embeddable instance by specifying the hibernate.create_empty_composites.enabled opt-in setting.
  • When defining an Envers audit query, you can now refer across one-to-one and many-to-one associations.

For more information about the new features available in Hibernate ORM 5.1, see ORM 5.1 feature release.

Access to Properties of Associations in Envers Queries

In JBoss EAP 7.1, access to properties of associations in Envers queries is supported.

Server Management

Server to Start in Suspended Mode

In JBoss EAP 7.1, it is possible to start the server in suspended mode. Also, the normal startup of the server is suspended until the MSC service container is stable.

Slave Host Controllers Ignore Irrelevant Parts of the Domain Configuration and Content Repository

In JBoss EAP 7.1, host controllers that are configured as slaves can ignore resources that are not required in the domain-wide configuration using the ignore-unused-resources attribute within the domain-controller/remote element in the domain.xml or host.xml file. Resources may be irrelevant if they are not associated with the servers managed by the slave host controllers. By default, the ignore-unused-resources attribute is not defined. To set the value to true, see the following example:

    <remote security-realm="ManagementRealm" ignore-unused-configuration="true">
            <static-discovery name="primary" protocol="${jboss.domain.master.protocol:remote}" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}"/>

You can use the --backup command line flag along with ignore-unused-resources=true. This allows slave to start using a backup copy of the domain configuration if the domain controller is not available. The slave does not require the full domain.xml to do this.

Host Controller Automatically Reconnects to Domain Controller When Using --cached-dc Option

In JBoss EAP 7.1, if you start a host controller with the --cached-dc option, it automatically reconnects to the domain controller if the domain controller is not reachable or offline when the host controller started.

Configure a Listener to Receive Notification of Server Lifecycle Events

In JBoss EAP 7.1, you can configure a listener to receive notifications from the management system of server and host controller lifecycle events.


Change JNDI Bindings Dynamically Without Forcing a Reload or Restart

In JBoss EAP 7.1, you can use the :rebind operation to update JNDI bindings dynamically without needing a forced reload or restart of the services. However, external-context bindings require the services to be restarted.


Flushing Datasource and Resource Adapter Connections

You can flush datasource and resource adapter connections. For example, you can flush the datasource connections using the following management CLI commands.
Note: In a managed domain, you must precede these commands with /host=HOST_NAME/server=SERVER_NAME.

  • Flush all connections in the pool.

  • Gracefully flush all connections in the pool. The server will wait until connections become idle before flushing them.

  • Flush all idle connections in the pool.

  • Flush all invalid connections in the pool.


The server will flush all connections that it determines to be invalid, for example, by the valid-connection-checker-class-name or check-valid-connection-sql validation mechanism.

You can also flush connections using the management console. Navigate to Configuration → Subsystems → Datasources, select the appropriate type and datasource and click View. Select the Pool tab and use the drop down box to select the appropriate action.

By Default the Recording of Enlistment Traces is Disabled

In JBoss EAP 7.1, by default, the enlistment-trace attribute is set to false for datasources and resource adapters. You can enable the recording of enlistment traces by setting the enlistment-trace attribute to true.
Warning: Enabling enlistment tracing makes tracking down errors during transaction enlistment easier, but comes with a performance impact.


Graphical Installer Includes Option for JSF Installation

Run the graphical installer. On the Configure runtime environment screen, select Perform advanced configuration → Install JSF implementation → JSF Setup. Provide the required details.
Note: JBoss EAP 7.1 supports MyFaces v2.1.x/v2.2.x and Mojarra v2.1.x/v2.2.x.


Forget Operation for Transaction Tooling

Previously, the transaction tooling operation to remove heuristically completed XA resource participants from transaction logs did not invoke the forget operation on the resource. This call is useful since it facilitates clean up. In this release, the forget operation is called when removing such participants. However, by default the result of the forget call is ignored and even if it fails the log is still removed. To override this behaviour, the administrator can set a system property called ignoreMBeanHeuristics to the value false. With this value set, the participants will not be removed from the log if the forget call is unsuccessful.

Full Support for Transaction Monitoring for JCA Resources

In JBoss EAP 7.1, you can configure, monitor, analyze and recover XA transactions using the management CLI.

Full Support for Transaction Monitoring for JMS Resources

JBoss EAP 7.1 provides full support for JMS resources.

High Availability

Load Balancing Profile Added to the Standalone and Domain Configuration

JBoss EAP 7.1 includes the load balancing profile for the standalone and domain configurations. This allows a server to run as a load balancer.


Display Resource Details of REST Endpoints

JBoss EAP 7.1 shows the REST endpoints' resource details using the read-resource operation of jaxrs subsystem in the management CLI. You can retrieve details about the REST endpoints provided by a deployment. For example:

    "outcome" => "success",  
    "result" => {  
        "resource-class" => "",  
        "rest-resource-paths" => [  
                "resource-path" => "/hello/json",  
                "consumes" => undefined,  
                "produces" => [  
                "java-method" => "java.lang.String",  
                "resource-methods" => [  
                    "POST /wildfly-helloworld-rs/rest/hello/json",  
                    "GET /wildfly-helloworld-rs/rest/hello/json"  
                "resource-path" => "/hello/xml",  
                "consumes" => undefined,  
                "produces" => ["application/xml"],  
                "java-method" => "java.lang.String java.lang.String name = 'LGAO')",  
                "resource-methods" => ["GET /wildfly-helloworld-rs/rest/hello/xml"]  

Support for jackson-datatype-jsr310 and jackson-datatype-jdk8 for RESTEasy

JBoss EAP 7.1 provides support for jackson-datatype-jsr310 and jackson-datatype-jdk8 for RESTEasy. jackson-datatype-jsr310 supports the new JDK 8 time API, and jackson-datatype-jdk8 supports the new JDK 8 Optional type.

Support for JSON Filter

In JBoss EAP 7.1 , there is new feature JsonFilter to allow annotate class with @JsonFilter and perform dynamic filtering. For more information, see the community documentation JSON Filter Support.


Setting Client Thread Pool Size Using System Properties

The following system properties can be used to set the size of a client’s global thread pool and global scheduled thread pool.


Note: Pool sizes set using the management CLI will have precedence over sizes set by system properties.
The system properties can then be referenced in XML configuration. For example:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.1">
  <global-client thread-pool-max-size="${}"
    scheduled-thread-pool-max-size="${}" />
  <server ...>

Hibernate Validator

Upgraded to Hibernate Validator v5.3.3

JBoss EAP 7.1 supports the Hibernate Validator v5.3.3.

Technology Preview

WARNING: The following configurations and features are provided as technology previews only. They are not supported for use in a production environment, and may be subject to significant future changes. See this note on the Red Hat Customer Portal on the support scope for Technology Preview features.

  • EJB and JNDI over HTTP/HTTPS Capability with HTTP Load Balancer
    JBoss EAP 7.1 supports EJB and JNDI invocation using the HTTP protocol, so requests will be mapped directly to HTTP requests. You can invoke EJBs over an HTTP load balancer.
    This can be used using the EJB/naming client APIs. This is a technical preview only.

  • Modern Enterprise Web Applications with Server-side JavaScript on JVM
    JBoss EAP 7.1 allows you to write server-side JavaScript (using JDK 8 Nashorn capabilities) to quickly develop REST endpoints that can pull in CDI beans, perform JNDI lookups, and invoke JPA Entity Beans. The undertow subsystem provides this capability. This is a technical preview only.

  • Server-Sent Events in Java (SSE)
    An implementation of the Server-Sent event model in Java is provided for customers working with mobile and rich clients. This includes only the server implementation. This is a technical preview only.

  • filesystem-realm Security Realm
    In JBoss EAP 7.1, filesystem-realm is a simple security realm definition backed by the filesystem. This is a technical preview only.

  • Configuring SecurityManager Subsystem in the Management Console
    In JBoss EAP 7.1, you can configure the securitymanager subsystem using the management console. This is a technical preview only.

  • Download Maven Repository Using the Offliner Application
    In JBoss EAP 7.1, you can use the Offliner application to download the Maven repository. The jboss-eap-7.1.0.Alpha1-maven-repository-content-with-sha256-checksums.txt file is required to download the Maven repository. For more information about Offliner, see the Offliner documentation. This is a technical preview only.

  • Elytron Features
    The following Elytron features are provided as technical preview only: realm, filesystem-security-realm, modifiable-custom-security-realm, and operations for identity manipulation on the LDAP and Database security realms.

Unsupported and Deprecated Functionality

Unsupported Features

Support for some technologies was removed due to the high maintenance cost, low community interest, and much better alternative solutions. The following features are not supported in JBoss EAP 7.1.

Note: The unsupported features listed in the JBoss EAP 7.0 Release Notes - Unsupported Section also apply to the JBoss EAP 7.1 release, unless they are mentioned in the New Features and Enhancements section of this release notes,

Messaging (ActiveMQ Artemis)

  • AMQP, Stomp, REST, MQTT, and OpenWire protocol
  • Netty over HTTP and Netty Servlet transport options for connectors/acceptors
  • OIO (Old Java IO) connectors/acceptors type is no longer possible to configure
  • Vert.x, AeroGear, Spring and Jolokia integration
  • Dynamic queue creation
  • Chain cluster
  • Clustered Message Grouping
  • Using ActiveMQ Artemis Management using JMX
  • Graceful Shutdown/Scaling Down of node in Artemis cluster
  • Colocated HA topology configured using replication-colocated/shared-store-colocated
  • Using messaging with MAPPED journal type

Infinispan APIs

  • Infinispan is delivered as a private module to provide the caching capabilities of JBoss EAP. Infinispan is not supported for direct use by applications

Jackson API

OAuth with RESTEasy

  • OAuth is not supported with RESTEasy.

Deprecated Features

Some features have been deprecated with the release of JBoss EAP 7.1. This means that no enhancements will be made to these features, and they may be removed in the future, usually the next major release.

Red Hat will continue providing full support and bug fixes under our standard support terms and conditions. For more information about the Red Hat support policy, see the Red Hat JBoss Middleware Product Update and Support Policy located on the Red Hat Customer Portal.

Note: In most cases, the deprecated attributes will not be shown in the management console.

  • The following Undertow HTTPS listener attributes are deprecated:

    • enable-spdy
    • enabled-cipher-suites
    • enabled-protocols
    • security-realm
    • verify-client
    • ssl-session-cache-size
    • ssl-session-timeout
    • enabled
  • The following Clustering attributes are deprecated:

    • binary-keyed-jdbc-store
    • mixed-keyed-jdbc-store
  • The following jaxrs attributes are deprecated:

    • show-resources
  • The following IIOP-OpenJDK attributes are deprecated:

    • add-component-via-interceptor
    • queue-flush-interval
  • The following Remoting attributes are deprecated:

    • outbound-connection
    • local-outbound-connection
    • protocol
    • security-realm
    • username
  • The following Infinispan attributes are deprecated:

    • queue-flush-interval
    • queue-size
  • The following resources are deprecated because management security is migrated to Elytron based security:

    • audit
    • security-realm
    • ldap-connection

Fixed Issues for the 7.1 Release

See JBoss EAP 7.1 Alpha-Fixed Issues to view the list of fixed issues for this release. This list includes the JIRAs that were logged as known issues in the previous release, and are fixed and verified in JBoss EAP 7.1.
Note: You do not need to login to JIRA to view this JIRA list.

Known Issues for the 7.1 Release

See JBoss EAP 7.1 Alpha-Known Issues to view the list of known issues for this release. This list is only a subset of the issues that are marked as blocker or critical.
Note: You do not need to login to JIRA to view this JIRA list.