The most major new feature is support for Eclipse MicroProfile 1.1 in Payara Server and Payara Micro! As I mentioned in 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. 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:

domain

The domain source stores and retrieves config values from the domain.xml

The domain source stores and retrieves config values from the domain.xml config

"config" here refers to the Payara config. This could be the "server-config", which is used for the DAS, or a shared config like "myCluster-config".

"config" here refers to the config. This could be the "server-config", which is used for the DAS, or a shared config like "myCluster-config". server

This source can store and retrieve config values from a server instance

This source can store and retrieve config values from a server instance application

An application source refers to a deployed artifact

An application source refers to a deployed artifact module

A module source is a module within an application

A module source is a module within an application cluster

The "cluster" source will store and retrieve config values from the underlying Hazelcast cluster.

The "cluster" source will store and retrieve config values from the underlying Hazelcast cluster. jndi

Config values can be stored and retrieved from JNDI.

To help work with these additional sources, there are asadmin commands to get and set the ordinal ( get-config-ordinal and set-config-ordinal ) for each source and to get and set properties ( get-config-property and set-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:

<groupId>fish.payara.distributions</groupId>

<artifactId>payara</artifactId>

<version>5.0.0.173-SNAPSHOT</version>

The coordinates for Payara Micro 5 are:

<groupId>fish.payara.extras</groupId>

<artifactId>payara-micro</artifactId>

<version>5.0.0.173-SNAPSHOT</version>

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-SNAPSHOT

docker run -it payara/server-full:5-SNAPSHOT

docker 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-ALPHA

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





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

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





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

Our 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 with our 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.

The Asadmin Recorder now handles passwords.

The --deployFromGAV now accepts RAR files.

now accepts RAR files. tar.gz packaged build released.

Style changes made to support page.

Over 80 bugs squashed.

Component Upgrades

Jersey upgraded to 2.25.1.

Jackson upgraded to 2.8.8.

Grizzly upgraded to 2.3.31.

Weld upgraded to 2.4.2.SP1.

HK2 upgraded to 2.5.0.b44.

Security Fixes

A few security fixes have been made for 173: