JBoss Enterprise Application Server 7 has been out since June, and if you build and deliver using a Java EE environment and haven’t yet upgraded to EAP7, it’s time to make the jump.
Here’s a look at what’s new in JBoss EAP 7, what has changed since JBoss EAP 6, and how to get the most out of JBoss EAP 7 as your Java EE7 server.
JBoss EAP 7 is bassed on WildFly Application Server 10, which provides a complete implementation of the Java EE 7 Full and Web Profile standards. WildFly 10 does much to simplify modern application delivery based on containers and microservices.
JBoss EAP 7 features certified support for Java EE7 and Java 8 SE. The WildFly integration brings experimental Java 9 support, too. It also supports current development snapshots of Java 9, which is expected for release this fall.
The JBOSS EAP 7 release is available for download from JBoss.org.
Getting the Most from JBoss EAP 7 in Production
That’s the basic overview. Now let’s move on to the more interesting stuff—the features that help you get the most out of Java EE7.
For starters, JBoss EAP 7 uses Undertow as its web server. Undertow replaces JBoss Web, the web server in earlier releases, and... it's fast.
Undertow is a lightweight web server with some cool features, like support for multiple HTTP protocols. Having an extremely lightweight web server option built into JBoss EAP 7 is nice, especially since (as noted below) you are free to use other, heavier-duty features if you want. But Undertow means you can also keep things light if that’s your preference.
In addition, Undertow in EAP 7 is designed to be flexible and modular. Servers are composed of handlers, which you can chain together as needed. That means you can take a modular, microservices-based approach to the JBoss web server, which helps JBoss EAP 7 fit organically into your DevOps workflow.
2. Clustering Modes
JBoss EAP 7 supports clustering in two main forms. You can take a load-balancing approach by letting JBoss distribute requests to your servlets, or focus on high availability, which means keeping extra resources on hand to provide automatic failover in case something goes down.
One of the nice things about JBoss EAP 7 is the flexible approach it takes to web server clusters. In addition to the built-in web server, you can also use your favorite external server, such as Apache HTTPD or Microsoft IIS. To make external servers work with JBoss, you use simple connectors, like the mod_jk or mod_proxy connectors from Apache, or the ISAPI and NSAPI connectors for IIS.
JBoss EAP 7 also simplifies backwards-compatibility by allowing JBoss EAP 7 domain administrators to manage JBoss EAP 6 domain hosts and servers. Remote EJB invocation interoperability between JBoss EAP 7 on one side and JBoss EAP versions 5 and 6 on the other is also supported.
4. New CLI Features
JBoss EAP 7 introduces some new operations that you can run from the CLI, which come courtesy of WildFly 10. They include:
- map-remove and query
For details on using these operations, check out the JBoss documentation.
5. Suspend and Resume
You can suspend and resume your computer as needed. Why not suspend your JBoss server, too?
Suspend and resume were introduced with WildFly 9, and they’re available in JBoss EAP 7. Suspend shuts the server down gracefully by allowing it to complete tasks without accepting new ones. You can resume again whenever you like.
Bonus. Default Port Changes
Last but not least, it may be helpful to know about some changes to the ports that JBoss uses by default. For example:
- The CLI connection port is 9990 instead of 9999.
- The management-https port is 9993 instead of 9443.
The Bottom Line
In many ways, JBoss EAP 7 makes it easier than ever to build and deliver Java EE apps in a modern, DevOps-friendly way. It’s lightweight, flexible and modular, and features some new tools that were not available in previous JBoss EAP releases. Once you get used to the minor changes surrounding things like default port numbers, you’ll be on your way to a more streamlined delivery process.
Chris Tozzi has worked as a journalist and Linux systems administrator. He has particular interests in open source, Agile infrastructure and networking. He is Senior Editor of content and a DevOps Analyst at Fixate IO.Last updated: June 15, 2023