WildFly 8 Beta is released!

I’m happy to announce the release of WildFly 8.0.0.Beta1. This is a significant milestone because all planned major features have been implemented. Let’s run through the big ones.

Java EE7

Java EE7 offers applications several productivity improving capabilities including support for the modern web, batch processing, simplified concurrent task processing, and improvements in dependency injection. At this point all user facing EE7 APIs have been implemented! Aside from achieving compliance certification, the only remaining work is to implement a few updates in the security integration SPIs, JASPIC and JACC.

High Performance Web Server (Undertow.io)

Undertow, the new cutting-edge web server in WildFly 8 is designed for maximum throughput and scalability, including environments with over a million connections. It supports non-blocking and blocking handlers, traditional and asynchronous servlets, and JSR-356 web socket handlers. It is highly customizable, with the ability for applications to implement nearly anything from dynamic request routing to custom protocols. It can also function as a very efficient, pure non-blocking reverse proxy, allowing WildFly to delegate to other web servers with minimal impact to running applications. Undertow has been fully integrated for several releases now. This release finalizes the key features of this integration with reverse proxy support.

Port Reduction

An important goal of WildFly 8 was to greatly reduce the number of ports used by multiplexing protocols over HTTP using HTTP Upgrade. This is a big benefit to cloud providers (such as OpenShift) who run hundreds to thousands of instances on a single server. Our default configuration now only has three ports, and will become two ports by final. We decided to preserve the original native management port for this Beta release to give those using legacy clients time to update before the final release. The native management port, 9999, is deprecated and will be removed by final.

Table 1. Ports
Port Protocols Bound Interface

9990

HTTP/JSON Management, HTTP Upgraded Remoting - (Native Management & JMX), Web Administration Console

management

8080

HTTP (Servlet, JAX-RS, JAX-WS), Web Sockets, HTTP Upgraded Remoting (EJB Invocation, Remote JNDI)

application

9999

Remoting - Native Management (deprecated)

management

Management Role Based Access Control (RBAC) & Auditing

WildFly can now support organizations with separated management responsibilities and restrictions. Roles represent different sets of permissions such as runtime operation execution, configuration areas that can read or written, and the ability to audit changes and manage users. In addition a new restricted audit log can be enabled including the ability to offload to a secure syslog server.

Patching

The infrastructure to support the application of patches to an existing install has been implemented. This capability allows for a remote client to install and rollback new static modules and binary files using the WildFly management protocol.

Notable Updates Since Alpha4

  • Initial EE Batch support

  • Initial EE concurrency support

  • Java EE Connector Architecture 1.7 support

    • New :jca: subsystem with support for DistributedWorkManager

    • New :resource-adapters: subsystem with f.ex. pool capacity policies

    • New :datasources: subsystem with f.ex. pool capacity policies

  • Greatly improved RBAC & Audit logging

  • Fixed few memory leaks

  • Upgrade clustering to Infinispan 6

  • Full AJP backend support

  • Reverse proxy support

  • Multi-JSF is fully functional and we upload an installer for MyFaces

  • Made sure server starts on JDK8

Issue Resolution

  • 219 issues were resolved since Alpha4

Component Updates

  • Weld 2.1.0 CR1

  • Undertow Beta 17

  • Hibernate 4.3.0.Beta4

  • Console 2.0.0.Final

  • JBoss Modules 1.3.0.Final

  • HornetQ 2.4.0.Beta2

  • aesh 0.33.8

  • Jipijapa 1.0.0.Beta1

  • Javassist 3.18.1-GA

  • Remoting JMX 2.0.0.CR3

  • JBoss WS 4.2.1.Final

  • Jgroups 3.4.0.Beta1

  • Infinispan 6.0.0.Beta1

  • JBoss Log Manager 1.5.0.Final

  • PicketLink 2.5.1.Final

  • jboss-threads 2.1.1.Final

  • mod_cluster 1.2.4.Final

  • Narayana 5.0.0.M4

  • Mojarra 2.2.3

  • IronJacamar 1.1.0.Final