-
Language:
English
-
Language:
English
JBoss EAP Continuous Delivery 14 Release Notes
For Use with JBoss Enterprise Application Platform Continuous Delivery 14
Abstract
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.
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.
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.
-
For instructions on defining the credential store directly through the
elytron
subsystem, 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.
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.
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 thehotrod
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 ofjavax.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