Java Based WildFly 10 is Now Available

Posted 2/17/2016 4:05:36 PM by STUART PARKERSON, Publisher Emeritus

Java Based WildFly 10 is Now Available
Java EE 7 application server platform WildFly 10 (formerly JBoss Application Server) is now officially complete and available for download adding a number of capabilities and improvements to the powerful, lightweight, open-source application server.

WildFly 10 implements the Java EE 7 Full and Web Profile standards. This release includes all the major features from WildFly 9, including HTTP/2 support and a built in load-balancer. Java 7 support has been discontinued to allow for deeper integration with the Java 8 runtime. While Java 9 is still in development, this release runs on the current development snapshots.

Updates include:

- ActiveMQ Artemis: A little over a year ago, the HornetQ codebase was donated to the Apache ActiveMQ project, and the HornetQ community joined to build a next-generation messaging broker. This 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. WildFly 10 includes this new project as its JMS broker, and due to the protocol compatibility, it fully replaces the HornetQ project.

- Offline CLI Support for Domain Mode: In addition to the offline CLI support for standalone mode, users can now launch a host-controller locally within the CLI. Using the embed-host-controller command provides the ability to edit the content of domain.xml and host.xml without launching additional processes or opening network sockets.

- JavaScript Support with Hot Reloading: WildFly 10 includes the Undertow JS project, which allows developers to write server side scripts that can pull in CDI beans and JPA Entity Beans. This can be quite useful for throwing together a quick view layer (perhaps using a templating language like Mustache, or a framework like Angular), or quickly developing a REST endpoint. There is also the ability to edit the JS files live on the system, and they are dynamically reloaded, without having to redeploy your application.

- HA Singleton Deployments: WildFly 10 adds the ability to deploy a given application as a "singleton deployment". This is a new implementation of a feature that existed in AS 6.0 and earlier. When deployed to a group of clustered servers, a singleton deployment will only deploy on a single node at any given time. If the node on which the deployment is active stops or fails, the deployment will automatically start on another node. The policies for controlling HA singleton behavior are managed by a new "singleton" subsystem. A deployment may either specify a specific singleton policy or use the default subsystem policy. A deployment identifies itself as singleton deployment via a /META-INF/singleton-deployment.xml deployment descriptor (the schema for which can be found on GitHub), which is most easily applied to an existing deployment as a deployment overlay. Alternatively, the requisite singleton configuration can be embedded within an existing jboss-all.xml.

- HA Singleton MDBs and MDB Delivery Groups: Another advanced clustering capability in WildFly 10, singleton MDBs supports infrastructures which require message delivery on only single host at a time. In the event of a failure, another host in the cluster with the same application deployed will take over message processing. MDB delivery groups allow an administrator to selectively enable and disable a "delivery group" via a management operation, which is composed of one or more MDBs. This capability supports environments with an external custom failover mechanism. As with all management operations, these calls are accessible from the many management interfaces of WildFly, including the CLI, a Java API, and an HTTP/JSON API.

- SLSB and MDB Automatic Pool Sizing: WildFly now pools stateless session beans by default, using a pool size that is computed relative to the size of the IO worker pool, which is itself auto-tuned to match system resources. Additionally MDBs now use a pool which is similarly tuned to a value derived from the number of CPUs on the system. Previously stateless sessions beans did not pool by default, and MDBs used a pool with a small hard-coded size. The values chosen are logged to an INFO message as part of startup. Manual tuning is still supported using the same max-pool-size attribute.

- Migration Operations for Discontinued Subsystems: To help users migrating from old subsystems such as jbossweb (AS 7.1), jacorb (WildFly 8), and hornetq (WildFly 9),  a new set of management operations have been provided that can convert old configuration over to the new respective subsystem equivalent. Since these operations migrate the underlying management resource model, old CLI scripts or custom provisioning systems can also take advantage of these.

- Capabilities and Requirements: Subsystem developers now have the ability to negotiate interaction with other subsystems in a more pluggable way. This allows for subsystems to have dependencies that can be satisfied by more than one subsystem, which is particularly useful in providing multiple implementations of the same underlying capability. Additionally it leads to improved error reporting. Instead of a failure being reported at the service layer, which is how the WildFly runtime is mapped, it is instead reported at a higher level that is easier to connect to the server’s configuration As an example, a missing socket binding is now reported as a missing socket binding, as opposed to a list of services with an unsatisfied dependency. Expect to see overall error reporting in WildFly improve as subsystems begin to adopt this ability

- Hibernate 5: Hibernate 5 includes several additional improvements, such as greatly improved bytecode enhancement, which is a useful performance optimization. Additionally a number of API improvements are provided, including use of generics in Hibernate Native, and an improved SPI for second level cache providers. Also included are new and improved schema update and validation tooling.

- Powershell scripts: Powershell scripts ware added to bin directory of WildFly distribution and are meant to fully replace .bat scripts in future releases. They provide same functionality as .bat scripts and additionally address handful of issues found in batch scripts.

Read More


About the author: STUART PARKERSON, Publisher Emeritus

Stuart Parkerson has an extensive background in niche technology publishing.

Subscribe to App Developer Daily

Latest headlines delivered to you daily.