Download
The WildFly 9 CR1 release is available on wildfly.org/downloads
Java EE7
As with WildFly 8, WildFly 9 implements both the Java EE7 full and web profile specifications.
HTTP/2 & SPDY Support
Undertow, the web server in WildFly has added support for the new HTTP/2 standard. HTTP/2 reduces latency by compressing headers and multiplexing many streams over the same TCP connection. It also supports the ability for a server to push resources to the client before it has requested them, leading to faster page loads. We also include support for SPDY, the predecessor to HTTP/2, in order to support clients that have not yet updated to the new specification. Although, currently, recent versions of Chrome and Firefox provide support for the standard out of the box.
Note that using HTTP/2 requires using Java 8 with a specialized setup procedure. This is because the HTTP/2 standard requires a TLS stack that supports ALPN, and a stock Java install does not include support for it. The extra setup steps will go away once Java 9 is released, which is expected to include ALPN support. Since HTTP/2 is also a goal for Java EE8, it is also expected to be made available in a future Java SE 8 update, likely after Java 9 is released.
Front End Load Balancer Support
WildFly can now be configured to function as an intelligent load balancer, proxying requests to backend WildFly nodes using HTTP, HTTP/2, SPDY, and mod_cluster protocols. This removes the need to use a native web server, such as Apache for this use case. To see this feature in action, check out a recent interview with Stuart Douglas, the lead of the Undertow project. He demonstrates how domain management, clustering, and the new load balancing capability can be used to deploy and manage a full HA setup from a single point, the WildFly CLI.
Server Suspend Mode / Graceful Shutdown
Previously, in order to achieve graceful draining of sessions/requests, a load balancer was required. The new server suspend mode in WildFly, once activated rejects new requests but allows old ones to complete. Once the suspension process has completed the server can either be stopped without aborting in-flight transactions, left in suspended state while maintenance is performed, or returned back to running state where new requests are once again allowed.
Offline CLI Support
You can now manage the server using CLI commands, without having a running server. This works similar to the admin-only mode, but does not require launching the server, and using a TCP port. Instead the CLI embeds the server and launches it directly in admin-only mode.
For more information, check out the detailed article on this feature, written by Brian Stansberry, the lead of WildFly's domain management capabilities.
New Servlet Distribution
The new "web" distribution (not to be confused with the Java EE Web Profile), provides a stripped down, yet manageable Servlet-only distribution. This is useful for applications that prefer to roll-their-own frameworks.
Core / Full Split
The base architecture of WildFly has been fully separated, and is now versioned separately from the full platform. We now have two different source repositories as a result.
Source Location | JIRA Location | |
---|---|---|
Core | wildfly/wildfly-core · GitHub | WildFly Core - JBoss Issue Tracker |
Full & Servlet | wildfly/wildfly · GitHub | WildFly - JBoss Issue Tracker |
Logging
In WildFly 8.2 the logging subsystem got a new resource, log-file. The resource lists all log files defined in the jboss.server.log.dir that are defined in the subsystem. You can now download these files via the console or other management resources.
Curl Example:
curl --digest -L -D - http://127.0.0.1:9990/management?useStreamAsResponse --header "Content-Type: application/json" -u user:password.1234 -d '{"operation":"read-attribute","address":[{"subsystem":"logging"},{"log-file":"server.log"}],"name":"stream"}'
HTTP Get Example:
http://localhost:9990/management/subsystem/logging/log-file/server.log?operation=attribute&name=stream&useStreamAsResponse
Web Services
The Web Services subsystem is now based on JBossWS 5.0.0.Final. This is a major leap forward, bringing new features and performances improvements in WildFly. Here is a list of the most notable new featues included in WildFly:
- Upgrade to Apache CXF 3 series
- WSDL soap:address rewrite improvements
- Convention for automatic assignment of pre-defined endpoint and client configurations
- Apache CXF interceptors' declaration through properties
- Apache CXF HTTP Conduit configuration through system properties
JBossWS 5 migration notes are also available here for those migrating existing applications from WildFly 8 / JBossWS 4.
Switched to the OpenJDK Orb
We have switched our IIOP implementation from JacORB to a downstream branch of the OpenJDK Orb. This change should lead to better interoperability with the JVM ORB and the Java EE RI.
Clustering
All clustering services, including all Infinispan caches, will now share a single JGroups channel by default. The channels supplied by the JGroups subsystem are now fully managed resources and can multiplex messages to any number of "forks" via the FORK protocol. This requires fewer resources than the multi-channel, shared transport configuration of previous releases.
JCA, data sources and resource adapters
The IronJacamar container has been upgraded to version 1.2.4.Final, fixing bugs and adding some new features.
Highlights:
- <max-pool-size> is now across all credentials used for the resource
- Pool type is determined by the decrementer policy
- Allow an existing connection to be obtained during MARKED_FOR_ROLLBACK
- Support <validate-on-match> for resource adapter deployments
- Support for the IronJacamar tracer module
- datasource:enable / datasource:disable are now DEPRECATED
- -ds.xml deployments are now DEPRECATED
Management Console
- New subsystem configuration: Remoting
- Support for datasource templates. Quickly configure the most commonly used datasources (PostgreSQL, MySQL, Oracle, SQLServer, DB2 and Sybase)
- Provide all flush-* operations for connection pools
- Improved log viewer: The full log file is now displayed. You can search inside a log file or download and open it in an external editor.
- Enhanced model browser with support for singleton resources
- Get more details about applied patches
- Ability to launch the management console independently from WildFly. See http://hal.gitbooks.io/dev/content/release-coordination/distribution.html#standalone-console for more details.
Comments