Payara Server 5.184 Release Notes

Release Highlights

Important Information

  • JDK version 8u162 or newer is no longer required

  • When upgrading Payara Server from an older version, make sure to use JVM options appropriate for your JDK version. See the Notes section below for more details

  • Some IDE plugins have problems with the default JVM options in Payara Server 5.184. In Netbeans, you should update the Payara plugin to version 1.5. For Eclipse IDE there’s a workaround. IntelliJ works out of the box. See the Known issues section in case you run into problems

Supported APIs and Applications

  • Java EE 8 Applications

  • MicroProfile 2.0 (in v5.184) / 1.4 (in v4.1.2.184)


Upgrading from older versions

When upgrading from a domain used by an older version of Payara Server you may run into issues due to changes in ALPN.

We recommend modifying domain.xml by removing grizzly-npn-bootstrap.jar JVM option and adding appropriate JVM option for your JDK version. Or you can just copy all the grizzly-npn-bootstrap JVM options from a default domain.xml in Payara Server 5.184.

If you apply the JVM options in the default domain.xml in version 5.184, you’ll avoid problems if you update the JDK in the future. The default configuration takes advantage of JDK version selectors supported in JVM options and will instruct Payara Server to choose the appropriate grizzly-npn-bootstrap JAR.

Beware that future versions of JDK (beyond u192) may break the ALPN contract again and subsequent version of Payara Server will need to provide another version of grizzly-npn-bootstrap JAR to fix it.

Users with a support account can follow the Guide to Upgrading to Payara Server 5.184.

PasswordLoginModule Changes

In Payara 5.182 login modules often extended from a base login module called This base class however was redundant and only provided for backwards compatibility as per the following comment on it:

This class is provided for backward compatibility and is a candidate for deprecation.

In order to simplify the security system somewhat by reducing the amount of redundant classes, this class has been removed since Payara 5.183. Its direct preferred replacement for a long time has been This class is now the only (and therefore mandatory) replacement.

Principal String Representation Changes

String representations of principals that are based on X500Principals have changed since Payara 5.184. The sequence of RDNs (Relative Distinguished Names) used to be rendered with a comma (,) and a space ( ) as separator, but due to an internal class change are now rendered with only a comma character (’,’ ASCII 44) as separator. For instance a distinguished name that used to be represented in string form as "C=UK, ST=lak, L=zak, O=kaz, OU=bar, CN=lfoo" is now represented as "C=UK,ST=lak,L=zak,O=kaz,OU=bar,CN=lfoo"

New Features

  • PAYARA-635 - Autocomplete Asadmin Commands

  • PAYARA-2479 - New Health Check checker to report status from MP Health Check endpoints

  • PAYARA-2627 - Allow using different security providers via JCE API

  • PAYARA-2872 - Create Native Kubernetes Cluster Mode for Domain Data Grid

  • PAYARA-2901 - Improve template placeholder replacements for custom MP metrics

  • PAYARA-3004 - Configure virtual servers for MP endpoints

  • PAYARA-3025 - Add a DNS Cluster Mode to Payara Micro

  • PAYARA-3087 - Support replacement of config values from Server Defined MP Config Sources

  • PAYARA-3106 - Create payara-resources.xml functionality

  • PAYARA-3184 - Make SecuritySupport resettable


  • PAYARA-455 - Updated fileinstall to no longer create a directory eagerly

  • PAYARA-2417 - Allow the DAS to control the lifecycle of Payara Micro

  • PAYARA-2539 - Metrics Service init takes significant boot time

  • PAYARA-2692 - Rename secrets-dir asadmin commands for the directory config source

  • PAYARA-2764 - Translate Payara only feature to Japanese

  • PAYARA-2844 - Move Payara Notification Logger Settings to its own page

  • PAYARA-2905 - Prevent creation of databases used for Timer Service when only non-persistent timers are present

  • PAYARA-3040 - Allow the user to configure custom isolation levels in JDBC connection pools

  • PAYARA-3058 - Phone Home should use Executor Service

  • PAYARA-3061 - Cleanup of nucleus/admin/server-mgmt

  • PAYARA-3062 - Support Mysql/ConnectorJ 8

  • PAYARA-3090 - Supply Basic authentication for additionalrepository CLI option of Payara Micro

  • PAYARA-3105 - Make MinIdleSwap and MaxIdleSwap configurable

  • PAYARA-3115 - OpenID Connect custom `groups' and callerName claims mapping in EE IdentityStore

  • PAYARA-3117 - Warning message ``Tried to deregister non-existent thread'' incorrectly shown when using Proxied Runnables

  • PAYARA-3123 - Log rootdir value and warn when using temporary directory

  • PAYARA-3133 - Sonar cleanup of Batch connector

  • PAYARA-3134 - Add help text on MicroProfile Config property

  • PAYARA-3141 - Improve message when no Request Trace Store is not enabled.

  • PAYARA-3156 - Feedback on asadmin command from preboot and postboot scripts

  • PAYARA-3159 - Creation of config parameters on MicroProfile page of WebConsole is wrong

  • PAYARA-3209 - Vendor support for namespaced claims in MP-JWT access tokens

  • PAYARA-3215 - Implement Weld Deployment getClasses

  • PAYARA-3216 - Add option for multi-threaded bean loading in Weld

  • PAYARA-3221 - Fixing sonar bugs in module container common

  • PAYARA-3242 - Add MicroProfile Healthcheck Checker to Server Tab

  • PAYARA-3247 - Add JVM Switch For NPN Versions

  • PAYARA-3249 - Move DynamicReloader polling to the Payara Executor Service

  • PAYARA-3250 - Move AutoDeployer Thread onto Payara Scheduled Executor Service

  • PAYARA-3251 - Reduce Payara Micro thread usage on boot

  • PAYARA-3252 - Refactor Healthcheck Service to use Payara Executor Service

  • PAYARA-3253 - Refactor JMX Monitoring Service to use Payara Executor Service

  • PAYARA-3266 - Use Environment Variable Substitution in

  • PAYARA-3267 - Optimise Memory Usage of JavaEETransactionImpl

Bug Fixes

  • PAYARA-2791 - Mojarra @ViewScope Incorrect Handling

  • PAYARA-2837 - OpenAPI Incorrect Collection Merging

  • PAYARA-2912 - Jbatch broken with PostgreSQL

  • PAYARA-2938 - MP Metrics returns 0 for a custom CPU load metric

  • PAYARA-2940 - Browser request administrator credentials again when accessing the support portal on the admin console

  • PAYARA-2975 - `metrics.xml' parsed and metadata re-registered on every call to `/metrics' endpoint

  • PAYARA-3046 - Listing Cache Keys not working

  • PAYARA-3059 - SQLTraceDelegator should use Concurrent HashMap

  • PAYARA-3068 - MP Healthcheck fails if no name is supplied

  • PAYARA-3069 - Payara Micro outputUberJar throws NullPointerException and fails in v5.183

  • PAYARA-3075 - Rework Fault Tolerance so that Bulkhead and CircuitBreaker are tied to instances instead of applications

  • PAYARA-3076 - Runtime Exception when Enabling Request Tracing from Admin Console

  • PAYARA-3079 - Admin Console Log File Viewer Doesn’t Show Complete Message

  • PAYARA-3085 - OpenAPI Doesn’t Support @…Param Annotated Fields

  • PAYARA-3091 - Post Boot Commands Incorrect Quotation Mark Processing

  • PAYARA-3093 - Non Standard Admin Name Causes 403 in Admin Console

  • PAYARA-3094 - There is no help text for MaxSessions in the admin console

  • PAYARA-3098 - delete-domain can run even when domain is currently running

  • PAYARA-3102 - Asadmin does not work correctly with multiple admin users

  • PAYARA-3109 - OpenAPI doesn’t support if schema type is array

  • PAYARA-3110 - CDI Session beans throw errors when stored

  • PAYARA-3114 - Concurrent Modification Exception when trying to access an active span programmatically.

  • PAYARA-3116 - OpenAPI Fails When Jersey Providers Are Registered

  • PAYARA-3119 - NullPointerException when starting Jersey/EJB Containers in Order

  • PAYARA-3121 - Jersey Crashes for EJB Classes of Same Name

  • PAYARA-3122 - Managed Scheduled Executor Service still executes tasks after undeployment

  • PAYARA-3125 - OpenTracing ExceptionMapper prevents usage of app provided one

  • PAYARA-3126 - OpenAPI Fails When Custom Operation Annotation is Used

  • PAYARA-3128 - Secure Protocols not being disabled correctly for ORB listeners

  • PAYARA-3131 - Clicking Cancel button on Configuration Properties page causes an error

  • PAYARA-3143 - Clustered Event Bus is broken in 5.182 onwards for POJO events

  • PAYARA-3145 - NPE in isSlowQueryLoggingEnabled

  • PAYARA-3146 - OpenIdIdentityStore/OAuthIdentityStore ambiguous dependencies

  • PAYARA-3153 - OpenAPI doesn’t support child schema on @…Param annotations

  • PAYARA-3155 - @…Param annotations doesn’t support @DefaultValue annotations on OpenAPI

  • PAYARA-3158 - NPE when starting asadmin multimode tool when DAS isn’t accessible

  • PAYARA-3166 - Create file user operation fails when replicating commands to instances in deployment group

  • PAYARA-3186 - NPE in ConnectorXAResource.getResourceHandle method

  • PAYARA-3189 - Fixing blocker bugs in Payara micro boot module [community

  • PAYARA-3190 - Web Console 403 LDAPRealm.getGroupNames Exception [community

  • PAYARA-3192 - Fixing blocker bugs in Deployment related classes module [community

  • PAYARA-3193 - Fixing Sonar blocker bugs in module nucleus logging [community

  • PAYARA-3196 - Grizzly NPN Fails for JDK 8.192

  • PAYARA-3197 - Fixing sonar bugs blocker and major in web glue module [community

  • PAYARA-3199 - NPE in MicroProfile Metrics on Payara Micro

  • PAYARA-3203 - MP OpenAPI @Operation deprecated member ignored

  • PAYARA-3212 - CDI Extensions are registered many times in large EAR deployments

  • PAYARA-3222 - When adding @Priority to an Interceptor, the deployment fails

  • PAYARA-3224 - Don’t depend on NPE to skip JAX-RS features for admin console

  • PAYARA-3225 - Location Header Not Present with WebApplicationException

  • PAYARA-3231 - It appears that with Firefox 63, that the Payara admin web screens no longer work correctly.

  • PAYARA-3232 - LocalTxConnectionEventListener Not Thread Safe

  • PAYARA-3233 - When deploying an application in the admin console all further deployment options are no longer shown

  • PAYARA-3241 - Only display the MicroProfile HealthChecker on Server Config

  • PAYARA-3264 - Fix Linkage errors Concurrently Loading EJBs

  • PAYARA-3265 - Fix Linkage Error in Generated Classes

Fixes for upstream bugs

These defects are most probably present also in the upstream GlassFish Server version.

  • PAYARA-3157 - The resource type of a JDBC connection pool can’t be changed in the second step of creation

Component Upgrades

Known issues

  • Fresh Payara Server 5.184 doesn’t start in Netbeans with a Payara plugin older than version 1.5 and with the current GlassFish plugin. This is because the Netbeans plugin modifies the standard start procedure but doesn’t understand Java version selectors in JVM options, which leads to an error in the plugin. This is fixed in the Payara NetBeans Plugin version 1.5 which is already available in our Netbeans repositories. For older versions or for a GlassFish plugin, you can fix this if you replace multiple JVM options for grizzly-npn-bootstrap in the default domain.xml with a single option that matches your Java version and remove the Java version selector.

  • Fresh Payara Server 5.184 doesn’t start in Eclipse IDE with any current plugin. You should apply the same workaround as for an older Netbeans plugin: replace multiple JVM options for grizzly-npn-bootstrap in the default domain.xml with a single option that matches your Java version and remove the Java version selector

  • There are no issues in IntelliJ as it starts Payara Server in a standard way