Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

第1章 New Features and Enhancements

Compatibility and Interoperability
  • EJB, JMS, and WS clients will be compatible across all minor and patch releases of JBoss EAP 7.
  • A JBoss EAP 7-managed domain administrator can manage JBoss EAP 6 domain hosts and servers.
  • A JBoss EAP 7 domain controller can manage other JBoss EAP 7 hosts in a managed domain as long as the domain controller runs the same or a more recent version than the rest of the domain.
  • Interoperability of remote EJB invocations between JBoss EAP 5 or JBoss EAP 6 on one side and JBoss EAP 7 on the other side exists if you run the latest version of JBoss EAP 5 or JBoss EAP 6.

    The following scenarios are possible:

    • Method invocation on remote EJBs through RMI, IIOP, or over SOAP web services.
    • Security context propagation.
    • Transaction propagation.
  • Remote EJB calls between JBoss EAP 7 and JBoss EAP 5 are now possible over IIOP. Between JBoss EAP 6 and JBoss EAP 7, the invocations are also possible via EJB API calls using JNDI.
  • JBoss EAP 5 interoperability is supported using web services in the release.
  • JBoss EAP 7 provides messaging consolidation and backwards compatibility with JBoss EAP 6. The JBoss EAP 6 HornetQ codebase was donated to the Apache ActiveMQ project, and the HornetQ community joined to build a next-generation messaging broker. This was materialized in the first major release of the ActiveMQ Artemis project. ActiveMQ Artemis includes many new features, and also retains protocol compatibility with the HornetQ broker. JBoss EAP 7 includes this new exciting project as its JMS broker, and due to the protocol compatibility, it fully replaces the HornetQ project.
JBoss EAP 7 Management
  • JBoss EAP 7 includes an updated management console user interface, easier navigation, and enhanced support for large-scale domain configurations.
  • The JBoss EAP product version is displayed in the lower-left corner of the management console. Click the link to view profile, version, HAL version, and core version.
  • Using the management CLI, administrators can see a history of configuration changes made by other authorized administrators.
  • Enhanced logging management includes the ability to view the available log files on a server, define custom formatters for logs in the management console, and configure logging at the subsystem level in the management CLI.
  • You can manage a server using the management CLI without having to start the server. This offline management CLI works similar to the admin-only mode but does not require launching the server and using a TCP port. The CLI embeds the server and launches it directly in admin-only mode.
  • If the picketlink-federation subsystem is enabled, it can be configured using the management console.
  • An administrator can generate an installation summary of standalone and managed domain server instances using the management CLI.
  • You can create your own profile by cloning existing JBoss EAP profiles (default, full, ha, full-ha) from the management CLI or the management console.
  • The management console home page includes the Take a Tour link. Click this link to take a tour of the updated management console.
  • An administrator can use the resolve-expressions parameter in the management CLI to resolve the expressions of returned attributes to their value on the server.
  • In a managed domain, an administrator can create a hierarchy of profiles. This allows the creation of a base profile with common extensions that can be inherited by other profiles.
注記

For more information about the management console, see the Management Console section in the JBoss EAP Configuration Guide.

For more information about the management CLI, see the JBoss EAP Management CLI Guide.

Highly Scalable Web Server (Undertow)
  • The web server and servlet implementation has changed from JBoss Web to Undertow. Undertow is a modern NIO web server designed for maximum throughput and scalability, including environments that exceed a million connections. It supports nonblocking and blocking handlers, traditional and asynchronous servlets, and JSR-356 WebSocket.
  • Using Undertow, you can configure JBoss EAP 7 to function as a multi-platform load balancer.
  • You can share HTTP sessions between multiple WAR modules in the same EAR.
  • Undertow includes handlers that replace the functionality provided by JBoss Web valves.
注記

For more information, see Configuring the Web Server (Undertow) in the JBoss EAP Configuration Guide.

Java EE 7

JBoss EAP 7 implements the Java EE 7 Full Platform and Web Profile standards, including:

  • Batch 1.0
  • JSON-P 1.0
  • Concurrency 1.0
  • WebSocket 1.1
  • JMS 2.0
  • JPA 2.1
  • JCA 1.7
  • JAX-RS 2.0
  • JAX-WS 2.2
  • Servlet 3.1
  • JSF 2.2
  • JSP 2.3
  • EL 3.0
  • CDI 1.2
  • JTA 1.2
  • Interceptors 1.2
  • Common Annotations 1.1
  • Managed Beans 1.0
  • EJB 3.2
  • Bean Validation 1.1
Java SE 8
  • JBoss EAP 7 requires Java SE 8, and JBoss EAP 7 has been tested with OpenJDK 8, Oracle JDK 8, IBM JDK 8, and HP JDK 8.
Clustering
  • New optimized session replication and single sign-on implementation using Undertow.
  • New optimized distributed @Stateful EJB caching implementation.
  • HA singleton deployments (for failover use cases similar to JBoss EAP 5. For example, EJB deployments enabled in one node in cluster).
  • New API for HA singleton services.
JCA and Datasources
  • The enhanced JCA connection manager includes the lazy connection manager extensions.
  • The datasources and resource-adapters subsystems allow you to set capacity policies.
  • Disabling enlistment tracing in IronJacamar is fully supported.
  • You can execute JDBC statements when a JDBC connection is obtained from a pool and returned to the pool.
  • It is now possible to choose a particular ManagedConnectionPool implementation class for each datasource and each connection definition of a resource adapter.
  • You can configure the fairness setting of the Semaphore class using the datasources and resource-adapters subsystems. This class is used to manage the connection pools in JCA, which provides a performance benefit in some use cases where the order of leasing connections is not required.
注記

For more information, see Java Connector Architecture (JCA) Management and Datasource Parameters in the JBoss EAP Configuration Guide.

Java EE Security Manager
The provisioning of permissions to deployments is based on the Java EE 7 specification, that is, META-INF/permissions.xml in the top level deployment. You can tweak the permissions by using the custom deployment descriptor META-INF/jboss-permissions.xml file, which can also be defined for submodules of the deployment. For more information about configuring permissions, see How To Configure Server Security for JBoss EAP.
Modularity Improvements
  • You can display module dependencies using the management API.
  • Index is generated automatically for static modules. For applications to use Java EE components located in static modules, the static module does not have to include a pre-generated annotation index.
注記

For more information, see the Modules section in the JBoss EAP Configuration Guide.

Transaction Enhancements
  • An XAResource that is part of an XA transaction and implements XAResourceWrapper will remain synchronized if the XA resource is committed before a transaction manager crashes. This removes the need for manual intervention after the transaction manager restarts.

    注記

    This feature does not work for third-party resource managers that do not implement XAResourceWrapper. This specifically does not work for resource manager of WebSphere MQ.

Server Suspend Mode/Graceful Shutdown
  • The new server suspend mode in JBoss EAP 7, once activated, rejects new requests but allows existing ones to complete. When the suspension process completes, the server can either be stopped without aborting in-flight transactions; left in suspended state while maintenance is performed; or returned to the running state where new requests are again allowed. (Excluding Messaging and Transactions; including Web, EJB, mod_cluster, Batch, Naming, and partially for EE Concurrency).
注記

For more information, see Suspend and Shut Down JBoss EAP Gracefully in the JBoss EAP Configuration Guide.

Port Reduction

JBoss EAP 7 now has almost all protocols multiplexed over two ports. The two ports include:

  • a management port (HTTP/JSON Management, HTTP Upgraded Remoting - Native Management & JMX, management console).
  • an application port (HTTP Servlet, JAX-RS, JAX-WS, WebSocket, HTTP Upgraded Remoting-EJB Invocation-Remote JNDI).
IIOP Implementation
  • The IIOP implementation changed from JacORB to a downstream branch of OpenJDK ORB. This change should lead to better interoperability with the JVM ORB and the Java EE RI.
Batch Enhancements

Batch enhancements include:

  • improvements in monitoring, such as the ability to list active jobs, finished jobs, and job execution steps.
  • the ability to start, stop, and resume batch jobs using management API.
  • the ability to restart batch jobs that failed because of a server failure. It can reset (i.e., ignore/log) the previous status so that the batch job can be executed on another server in the domain server group.
Migration CLI Operations for the discontinued subsystems of JBoss EAP 6
  • To help users migrating from old subsystems in JBoss EAP 6, such as JBoss Web, JacORB, and HornetQ, a set of management operations that can convert the old configuration to the new subsystem equivalent has been introduced. Because these operations migrate the underlying management resource model, old CLI scripts or custom provisioning systems can also take advantage of these.
注記

For more information, see Management CLI Migration Operation in the JBoss EAP Migration Guide.

Changes to Delivery of JBoss EAP Natives and Apache HTTP Server

JBoss EAP 7 natives are delivered differently in this release than in the past. Some now ship with the new Red Hat JBoss Core Services product, which is a set of supplementary software that is common to many of the Red Hat JBoss middleware products. The new product allows for faster distribution of updates and a more consistent update experience. The JBoss Core Services product is available for download in a different location on the Red Hat Customer Portal.

  • The following table lists the differences in the delivery methods between the releases.

    PackageJBoss EAP 6JBoss EAP 7

    AIO Natives for Messaging

    Delivered with the product in a separate "Native Utilities" download

    Included within the JBoss EAP distribution. No additional download is required.

    Apache HTTP Server

    Delivered with the product in a separate "Apache HTTP Server" download

    Delivered with the new JBoss Core Services product

    mod_cluster, mod_jk, isapi, and nsapi connectors

    Delivered with the product in a separate "Webserver Connector Natives" download

    Delivered with the new JBoss Core Services product

    JSVC

    Delivered with the product in a separate "Native Utilities" download

    Delivered with the new JBoss Core Services product

    OpenSSL

    Delivered with the product in a separate "Native Utilities" download

    This was dropped in JBoss EAP 7

    tcnatives

    Delivered with the product in a separate "Native Components" download

    This was dropped in JBoss EAP 7

  • You should also be aware of the following changes:

    • Support was dropped for mod_cluster and mod_jk connectors used with with Apache HTTP Server from Red Hat Enterprise Linux RPM channels. If you run Apache HTTP Server from Red Hat Enterprise Linux RPM channels and need to configure load balancing for JBoss EAP 7 servers, you can do one of the following:

      • Use the Apache HTTP Server provided by JBoss Core Services.
      • You can configure JBoss EAP 7 to act as a front-end load balancer. For more information, see Configuring JBoss EAP as a Front-end Load Balancer in the JBoss EAP Configuration Guide.
      • You can deploy Apache HTTP Server on a machine that is supported and certified and then run the load balancer on that machine. For the list of supported configurations, see Overview of HTTP Connectors in the JBoss EAP 7 Configuration Guide.
    • Support was dropped for mod_cluster and mod_jk connectors used with Apache HTTP Server from the HP-UX Web Server Suites. If you run Apache HTTP Server from HP-UX Web Server Suites and need to configure load balancing for JBoss EAP 7 servers, you can do one of the following:

      • You can configure JBoss EAP 7 to act as a front-end load balancer. For more information, see Configuring JBoss EAP as a Front-end Load Balancer in the JBoss EAP Configuration Guide.
      • You can deploy Apache HTTP Server on a machine that is supported and certified and then run the load balancer on that machine. For the list of supported configurations, see Overview of HTTP Connectors in the JBoss EAP Configuration Guide.
  • You can find more information about JBoss Core Services in the Apache HTTP Server Installation Guide.