What's new in Payara Server & Payara Micro 173?

Payara Server and Payara Micro 4.1.2.173 are now available for download! With 58 bug fixes, 30 improvements, 2 security fixes and 5 component upgrades ( see the release notesfor more), this release sees a number of new features focused on making your life easier, whether you're in development or operations.

MicroProfile

The most major new feature is support for Eclipse MicroProfile 1.1 in Payara Server and Payara Micro! As I mentionedin my recent blog, this compatibility with MicroProfile brings with it the requirement of Java 8 thanks to the first new API to originate from the MicroProfile project: the Config API.

The Config API specification is intended to allow applications to be reconfigured from outside without needing to repackage the application. This is especially useful where settings vary across different environments. In addition to the default ConfigSources outlined by the specification (system properties, environment variables and properties files found on the classpath), the implementation of Config in Payara Server and Payara Micro also supports the following sources out-of-the-box:

To help work with these additional sources, there are asadmin commands to get and set the ordinal (get-config-ordinalandset-config-ordinal) for each source and to get and set properties (get-config-propertyandset-config-property) in each source.

Payara 5

Snapshots of Payara Server 5 and Payara Micro 5 are now available on Maven Central's snapshots repository! Since these are tracking our usual quarterly-release cycle, they have snapshot version numbers to indicate the Payara project version they are synced from. The Maven GAV coordinates for Payara Server 5 are:

Alternatively, you can get started with our Docker images. We have added 5-SNAPSHOT tags to each repository, so that the following docker commands will start a Payara Server or Payara Micro 5 instance:

docker run -it payara/micro:5-SNAPSHOTdocker run -it payara/server-full:5-SNAPSHOTdocker run -it payara/server-web:5-SNAPSHOT

One question we get a lot regarding our plans for Payara 5 is when the release will be final. I'm happy to announce that we have the following milestone targets in place:

Payara 5-ALPHAWe are in the process of preparing an Alpha release of Payara Server and Payara Micro 5, which should be available very soon.

Payara 5-BETAWe intend to publish a Beta release of Payara Server and Payara Micro 5 in sync with our final quarterly release of the year,174

Payara 5-FINALOur first fully-supported release of Payara Server and Payara Micro 5 will be in sync with our first release of 2018 -181

This means that we will begin a new year with Payara Server and Payara Micro 5 as our community release and end our community releases of Payara Server and Payara Micro 4. We will continue to provide builds of Payara Server and Payara Micro 4 for our support customers, in accordance withour 10-year support lifecycle. This means that our customers will still get regular releases in the Feature Stream into 2018, and Stability Stream releases beyond that to 2021.

Enhancements for Ops

The HealthCheck Service has been expanded further to add a checker for stuck threads. There was already a checker for hogging threads - those which are using more than a configured percentage of the CPU - but now, with the stuck threads checker, you can be alerted for all threads which have not progressed in the configured interval. This is especially useful to track, for example, where a deadlock has occurred. Instead of needing to wait for a high resource message you can be notified immediately of a stuck thread.

When using the Slow SQL Logger integration is possible to record the top most used SQL traces among all applications deployed on a server's instance, along with the slowest SQL queries too. This historic recording can be configured to set both of these metrics. This is especially useful for applications that connect to multiple databases using the JDBC or JPA APIs, since it can help identify potential bottlenecks on database connections for further performance-tuning.

Enhancements for Developers

This version includes the release of the Payara Arquillian container. This means that you can use your normal Payara deployment to test your applications on. The Arquillian container connects to the DAS via the Payara Server REST interface. This means that the container can accommodate any form of deployment scenario.

Finally, new to this release is an integration with the Weld (CDI) development mode, allowing Payara Server or Payara Micro to turn it on. This development mode comes with a probe tool that allows a server instance to monitor all application CDI components on run-time. On Payara Server, is also possible to turn this integration on via the web admin console, and its also possible to access the probe tool's UI interface and REST API through the server as well. For more complex monitoring scenarios, the probe tool's data can also be queried using JMX too. This puts Payara Server alongs Wildfly and Tomcat on the list of compatible web servers that allow this integration.

Enhancements for Docker Users

On top of the Payara 5 Docker image releases, users of Docker images will have some major new features to look forward to. Firstly, applications which depend on a database can now be deployed before the database is provided. Previously, deploying an application before the database was present would cause the deployment to fail but the server to continue running. An application can now be deployed before the database, and begin working as normal when the database is provided. This helps in a microservices environment when each service should be available regardless of the others.

Third party libraries can now be added dynamically to Payara Server and Micro with one command. Payara Micro now has a --addJars parameter, to pass external library JARs to the Payara Micro instance. This command can either be repeated for every required library, or the library JARs can be colon separated. Payara Server has a add-library command, which will also accept an external library JAR, but will now dynamically load the JAR so the server doesn't need a restart. This is useful as, for example, database connector JARs can now be loaded at any time.

Minor Fixes and Features

For fans of Jolokia, there is a technical preview of REST based JMX monitoring.

A CDI Eventbus Notifier has been added to allow applications to react to server events.

About Payara

Payara Server - Derived from GlassFish, with 24/7 Production Support. Payara Server is a drop in replacement for GlassFish Server Open Source Edition, with the peace of mind of quarterly releases containing enhancements, bug fixes and patches.