Version 4

    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 LocationJIRA Location
    Corewildfly/wildfly-core · GitHubWildFly Core - JBoss Issue Tracker
    Full & Servletwildfly/wildfly · GitHubWildFly - 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:

    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.

     

    Issue Resolution