
The Payara Monthly Catch -September 2025
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
This spring’s silver lining, Payara Server 4.1.2.172, a highly cloud-focused release, is now available!
Focusing on enhancing Payara Server and Payara Micro’s ease-of-use in cloud environments, we’ve brought in new features to make working with Docker more seamless and secure, native support for SaaS monitoring solutions and a huge increase in messaging capabilities for Payara Micro! Inside this quarter’s release you will find 54 fewer bugs, a host of ecosystem and cloud improvements, and an update to match GlassFish 4.1.2. Carry on reading for a summary of this quarter’s changes, or check out the full release notes for a complete list of changes.
{{cta(‘f53ec10a-12d5-483b-b089-2d4cdab10448’)}}
For the very first time, Payara Micro will be able to send and receive JMS messages! It won’t package a broker, but provides a fantastic stepping-stone in migrating legacy monolith apps towards distributed, event-based microservice architectures! We’ve had requests from many users for JMS support in Payara Micro and it’s been the biggest blocker for migration for many people. Thanks to the new ability to deploy JCA adapters in Payara Micro, it’s now possible to deploy a JMS resource adapter and have Payara Micro act as a JMS client, meaning your message driven beans will now run in Payara Micro rather than needing the full server.
We’ve already added an example of using Payara Micro as a JMS client to our Payara Examples repository, and recently published a complete example of subscribing to HealthCheck event notifications over JMS!
Support for JCA adapters in Payara Micro is probably the biggest feature in this release, and a real game-changer for users with distributed microservice apps. Reliable, asynchronous messaging is at the heart of the modern web, so we didn’t want to leave ourselves restricted to just JMS! We created the Payara Cloud Connectors repository in GitHub to allow users of Payara Micro to interact with four popular cloud messaging technologies using fully standard message driven beans!
172 brings four new cloud connectors for:
View the new connectors on GitHub.
When we first put out our Payara Server and Payara Micro Docker images, we expected Payara Micro would be the first choice for most users. What we’ve found is that a huge number of you like to use Payara Server in Docker!
A key “best practice” for Docker is to reduce the number of layers so use of the autodeploy directory is quite common. The problem is that the autodeploy scanner is a security risk for production. To address that problem and allow a way for users to deploy applications on startup without using the scanner, we have brought over a feature from Payara Micro – the ability to run asadmin commands as the server starts up! You can now change your start command to be as follows:
asadmin start-domain --postbootfile=deploy-my-app.txt
While not technically part of Payara Micro itself, we are releasing a Maven plugin for Payara Micro. The plugin has three goals available: bundle, start and stop. Prior to the release of this plugin, you would have had to use the general Maven “exec” plugin to create an Uber JAR, resulting in a slow build time as Payara Micro had to boot, deploy your compiled app and finally output an Uber JAR artefact. Now, using mvn payara-micro:bundle
, this all happens as part of the install
phase.
For more details, see the plugin on GitHub.
Continuing our expansion of the notification service, 172 includes the ability to send notification events to cloud performance monitors. If you’re a user of either DataDog or New Relic, you will likely already have much of your infrastructure already configured in these performance monitors. When it comes to monitoring, however, more data in to the system is, on the whole, a very good thing and can provide even deeper insights to the behaviour of requests through your system. In the case of New Relic, for instance, you may be able to see that much of the time for a given request is spent in the JVM but, with so many moving parts that is not always so helpful!
With 4.1.2.172 you will be able to send, for example, request tracing data to both DataDog and New Relic and use the timings of slow requests as seen by Payara Server.
The final big ticket cloud enhancement for users of Payara Server with Docker, we’ve massively expanded our existing support of environment variable references within Payara Server, meaning that it’s now very easy to read most configuration options from the environment.
Payara Server 172 now supports the widespread use of variable references from within the following areas:
We’ve got a host of smaller improvements and fixes in Payara Server172 release:
--help
command is now clearer and more readableOver 50 bugs squashed
GlassFish 4.1.2 updates included
Grizzly upgraded to 2.3.29
Hazelcast upgraded to 3.8
Tyrus upgraded to 1.13.1
jsftemplating upgraded to 2.1.2
ha-api upgraded to 3.1.9
Weld upgraded to 2.4.3.Final
antlr upgraded to 2.7.7
Payara Server 172 also includes a new security fix:
{{cta(‘f53ec10a-12d5-483b-b089-2d4cdab10448’)}}
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]
Enterprise Java applications power global commerce, healthcare, government and countless other industries. These systems must be scalable, secure and […]
Great work folks !!
Thank you Abhishek 🙂
–postbootfile or –postbootcommandfile? I believe, there is –postbootcommandfile in Payara Micro
It is indeed –postbootcommandfile, as well as –prebootcommandfile
Yep, thanks! Found a strange behavior, though (maybe not strange at all?).
When starting with both –prebootcommandfile (for resource creation) and –postbootcommandfile (for deployment), it works with start-domain well.
As soon as I specify –verbose, –postbootcommandfile is ignored. Is this on purpose?
I thought, that –verbose is the ideal behavior of a cloud-native application (one running process per container). I can live with start-domain and then tail -f server.log, also, of course (doing it right now).
Hi Miroslav,
I’ve just run “payara41/bin/asadmin start-domain –verbose –prebootcommandfile preboot.txt –postbootcommandfile postboot.txt” on 172 and everything appears to work fine, is there anything different about the command you ran?
Kind regards,
Matt
Good work for the whole team of Payara, this is very good to feel that you work harder to launch these pleasant features.