JBoss EAP Continuous Delivery 14 Release Notes

JBoss Enterprise Application Platform Continuous Delivery 14

For Use with JBoss Enterprise Application Platform Continuous Delivery 14

Red Hat Customer Content Services

Abstract

These release notes contain important information related to JBoss Enterprise Application Platform continuous delivery release 14, which is available as a Technology Preview release in the cloud only.

Chapter 1. About JBoss EAP Continuous Delivery 14

The JBoss Enterprise Application Platform continuous delivery (JBoss EAP CD) release 14 is a Technology Preview release available in the cloud only. This JBoss EAP CD release introduces a new delivery stream of JBoss EAP, which provides incremental updates and new capabilities on a regular schedule for Red Hat OpenShift Online and the Red Hat OpenShift Container Platform.

The purpose of this new delivery model is to quickly introduce new features ahead of the traditional JBoss EAP GA release. The JBoss EAP CD releases are only available in the OpenShift image format and can be accessed from the Red Hat Container Catalog.

Traditional JBoss EAP GA releases, the next being JBoss EAP 7.2, will be based on an aggregate of JBoss EAP CD releases and will continue to be available through the normal distribution methods.

Important

This continuous delivery release for JBoss EAP is provided as Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

See Technology Preview Features Support Scope on the Red Hat Customer Portal for information about the support scope for Technology Preview features.

1.1. Differences Between JBoss EAP and JBoss EAP Continuous Delivery

There are notable differences between the JBoss EAP product and the continuous delivery release for JBoss EAP.

Important

For descriptions of differences and details about feature support in the continuous delivery release for JBoss EAP, see the comparison table in Getting Started with JBoss EAP for OpenShift Container Platform or Getting Started with JBoss EAP for OpenShift Online.

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.

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.

Note

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 MethodReplacement 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 IDUse 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 plus recommended Spring 4 versions.

jboss-eap-javaee8-with-tools

jboss-eap-javaee8 plus development tools such as Arquillian.

For more information about the BOMs available for application development, see Manage Project Dependencies in the Development Guide.

Chapter 3. Unsupported and Deprecated Functionality

3.1. Unsupported Features

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

Note

The unsupported features listed in the Unsupported Features section of the 7.1.0 Release Notes also apply to this continuous delivery release for JBoss EAP, unless they are mentioned in the New Features and Enhancements section of this document.

Messaging (ActiveMQ Artemis)

Configuring a discovery group or a broadcast group using JGroups is not supported in a cluster consisting of different versions of JBoss EAP. For more information, see Clusters Overview in Configuring Messaging and Upgrading a Cluster in the Patching and Upgrading Guide.

3.2. Deprecated Features

Some features have been deprecated with this release. 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.

For details of which features have been deprecated, see the JBoss Enterprise Application Platform Component Details located on the Red Hat Customer Portal.

IO Subsystem

  • IO buffer pools are deprecated in this release. They are replaced by Undertow byte buffer pools.

Cache Stores

  • The remote cache store has been deprecated in favor of using the hotrod cache store.

Platforms and Features

Support for the following platforms and features is deprecated:

Databases
  • IBM DB2 e9.7
  • MySQL 5.5
  • Microsoft SQL Server 2012
  • PostgreSQL 9.3
  • Enterprise DB Postgres Plus Advanced Server 9.3
  • Sybase 15
JMS Providers/Adapters
  • IBM WebSphere MQ 7.5
  • TIBCO EMS
LDAP Servers
  • Red Hat Directory Server 9.1
  • Microsoft Active Directory 2008
Tested Frameworks
  • JQuery (all versions)
  • AngularJS (all versions)

Chapter 4. Resolved Issues

See Resolved Issues for JBoss EAP CD 14 to view the list of issues that have been resolved for this release.

Chapter 5. Fixed CVEs

JBoss EAP Continuous Delivery 14 includes fixes for the following security-related issues:

  • CVE-2017-7503: xml frameworks: JBoss EAP 7.0.5 implementation of javax.xml.transform.TransformerFactory is vulnerable to XXE.

Chapter 6. Known Issues

See Known Issues for JBoss EAP CD 14 to view the list of known issues for this release.

Additionally, be aware of the following:

  • If you try to start an embedded server from a management CLI instance that was started using the jboss-cli-client.jar file on JDK 11, you will get an error: WFLYEMB0014: Cannot load module. To avoid this error, you must add --add-modules java.se when starting the management CLI:

    $ java --add-modules java.se -jar jboss-cli-client.jar





Revised on 2018-10-25 14:04:45 UTC

Legal Notice

Copyright © 2018 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.