The first Payara Platform release in 2020 is out. Highlighted updates include new End-to-End data encryption and the extension of the Monitoring Console. The release includes 31 bug fixes, 5 new features, 12 improvements and 21 component upgrades!
In the 5.201 release, the Stability and Community streams are synced.The Community stream is what we call our quarterly public releases, and contains new features and enhancements to the Payara Platform for users to try out, although we don't consider them stable enough for mission-critical production environments. The Stability stream is what we call our monthly bug fix-only releases for those with the supported version of Payara Platform Enterprise with an appropriate EULA, and it contains only the features that have been thoroughly tested and are ready for production environments. The Stability stream will form the basis of Payara Platform Enterprise for the coming year.
Here's what's included in Payara Platform 5.201 Release:
Data Grid Encryption
The Data Grid Encryption included in the 201 release is in tech preview. It allows End-to-End encryption of data stored in Payara's cluster store backed by Hazelcast. This is similar to a feature offered by Hazelcast Enterprise but has the benefit of not needing a Hazelcast Enterprise license. Before the encryption can be enabled a key is generated via admin commands which is automatically distributed to all instances. Then the encryption can be enabled as part of the hazelcast configuration. Our blog post Coming Soon: Data Grid Encryption Tech Preview in Payara Server 5.201 has all the details.
Monitoring Console Updates
The Payara Monitoring Console was updated further with more live data on health checks, threads and slow SQL. A new alerts and annotations system and colour themes and settings were added. More details on these new features are found in our post Payara Platform 201 Release - More Updates to Monitoring Console. Furthermore the core of the console was extracted as an independent library and moved to its own top level repository at payara/monitoring-console.
Request Tracing Cluster Configuration
Payara always offered to store request traces in a store. This store could either be local (no cluster mode) or a common (shared) store for the cluster. This affects both the store for recent as well as the store for historic traces. Before Payara Platform 5.194, shared stores were made accessible to other instances but each instance would maintain its own list with its individual capacity limit. To better integrate with monitoring, this was changed in 5.194 so that all instances use a common list in cluster mode. Until the latest release of Payara Platform 5.201, the individual limit was still applied effectively purging the common store to different limits depending on the adding instance's configuration. This confusing behaviour now got smoothed out. The shared store's capacity is now the maximum capacity configured for any instance with request tracing enabled.
Better Support for Preparing Payara Micro Images
Payara Micro by default extracts its runtime into temporary directory, that is then configured by interpreting other command line switches and deployment artifacts. While it was already possible to define a persistent directory for the runtime by means of
--rootdir switch, it is now easier to prepare this directory in a script.
New command line switch
--warmup will perform all configuration steps and shutdown the instance immediately. This prepares the runtime root directory, and therefore only
--rootdir is needed to launch productive instance with desired configuration.
The setup can be further simplified by creating a launcher jar for root directory, by invoking
java -jar payara-micro.jar --rootdir $rootDir --outputlauncher. This will create executable jar file
$rootDir/launch-micro.jar, that doesn't need any parameters for launching the instance from that runtime directory. Moreover, the launcher has flat classpath, which is friendly to Class Data Sharing capabilities of OpenJDK.
Derby is Removed
Jakarta Dependency Upgrades
Some Jakarta dependencies have received a minor version update:
- Jakarta JAX-RS: 2.1.5 to 2.1.6
- Jakarta Enterprise Beans API: 3.2.5 to 3.2.6
- Jakarta Server Faces: 2.3.1 to 2.3.2
- Jakarta Persistence API: 2.2.2 to 2.2.3
- Jakarta Transactions: 1.3.2 to 1.3.3
- Jakarta Batch: 1.0.1 to 1.0.2
- Jakarta Resource API: 1.7.3 to 1.7.4
Further Dependency Upgrades
- Glassfish Fighterfish
- JSF Templating to 2.1.4
- JBoss Classfilewriter to 1.2.4.Final
- Jackson to 2.10.2
- Istack Common Utility to 3.0.10
- Hazelcast to 3.12.6
- Imqjmx to 4.4.2
- Cache API to 1.1.1
- Bouncy Castle to 1.64
- JSON Processing to 1.1.6
- Logging Annotation Processor to 1.9
- OSGi Resource Locator to 1.0.3
- Hamcrest to 2.2
- Hibernate Validator to 6.1.2.Final
- Javassist to 3.26.0-GA
- JLine to 3.13.3
- MIME Streaming Extension to 1.9.12
- OSGi DTO to 1.1.0
- ASM to 7.3.1
- SnakeYAML to 1.25