What’s New in Payara Server 172?

Uncategorized

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’)}}

 

JMS Client Support for Payara Micro

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

 

Payara Cloud Connectors

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:

  • Apache Kafka
    • With hefty, high-volume, fault-tolerant streams of records, Apache Kafka is built for the reliable storage and consumption of data, both historical and real-time. 
  • Amazon SQS
    • Secure, scalable, and unsurprisingly built for Amazon, Amazon SQS allows you to completely integrate Payara Server with the entirety of your Amazon services infrastructure, from EC2 to S3.
  • MQTT
    • Built for the Internet of Things (IoT), MQTT is extremely lightweight, perfect for tiny devices with scarce network bandwidth. The MQTT connector helps bridge the gap between small IoT devices and Java EE applications.
  • Azure Service Bus
    • Covered in detail in Yoshio Terada’s blog, Microsoft Azure is a powerful alternative to AWS, and works well with Payara Server. With the Payara Cloud Connector, it is now possible to integrate Payara Server with your Microsoft Azure infrastructure.

View the new connectors on GitHub.

 

Run Asadmin Commands at Boot in Payara Server

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

 

Maven Plugin for Payara Micro

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.

 

New Notifiers for the Notification Service

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.

 

Enhanced Environment Variable References

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:

  • domain configuration (such as domain.xml, logging.properties, etc.)
  • file descriptors in the applications (such as web.xml, glassfish-web.xml, persistence.xml, …)
  • annotations in the applications (such as @EJB, @ActivationConfigProperty, …)
  • JNDI lookups 

Minor Fixes and Features

We’ve got a host of smaller improvements and fixes in Payara Server172 release:

  • Payara Server now uses Payara self-signed certificates instead of GlassFish
  • An “Environment Warning” to alert users when they edit a production system
  • Rest endpoints are now displayed on deployment for Payara Micro, and from the “Application Details” page on Payara Server
  • Payara Server can now deploy from Maven repositories and URLs
  • Payara Micro’s --help command is now clearer and more readable

  • Over 50 bugs squashed


Component Upgrades


  • 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


Security Fixes

Payara Server 172 also includes a new security fix:

  • PAYARA-1424: XSS Flaw discovered by Dmitri Kaslov – thanks!

 

{{cta(‘f53ec10a-12d5-483b-b089-2d4cdab10448’)}}

 

Comments (7)

Post a comment

Your email address will not be published. Required fields are marked *

Payara needs the contact information you provide to us to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, please review our Legal & Privacy Policy.

  1. Abhishek Gupta

    Great work folks !!

  2. Dominika Tasarz

    Thank you Abhishek 🙂

  3. Miroslav Vasko

    –postbootfile or –postbootcommandfile? I believe, there is –postbootcommandfile in Payara Micro

    1. Michael Ranaldo

      It is indeed –postbootcommandfile, as well as –prebootcommandfile

  4. Miroslav Vasko

    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).

    1. Matt Gill

      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

  5. Edilásio Carlos

    Good work for the whole team of Payara, this is very good to feel that you work harder to launch these pleasant features.

Related Posts

Blue background with coral and fish. Left text: 'MONTHLY CATCH'. Right: laptop screen with tech tabs and Payara Community logo. 3 minutes
Community

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 […]

4 minutes
Uncategorized

Leading the Way: Payara Platform Community 7 Beta Now Fully Jakarta EE 11 Certified

We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]

What Is a Java Application Server? A Short Guide 6 minutes
Jakarta EE

What Is a Java Application Server? A Short Guide

Enterprise Java applications power global commerce, healthcare, government and countless other industries. These systems must be scalable, secure and […]