Enhancements to EJB Features

This section details several improvements and enhancements done to the EJB features available on Payara Server.

Concurrent Instance Configuration

Payara Server can control the number of maximum concurrent instances per EJB that can be served to clients.

See Controlling Stateless EJB Concurrent Instances for detailed information.

Customized EJB-JAR Archive Names

It is possible to instruct Payara Server to override the default behaviour of using the archive’s filename as the name of the module at deployment time, even if the archive lives inside an EAR application.

See Overwriting EJB JAR Archive Names for detailed information.

Lite Remote EJB Communication

For scenarios when communication with remote EJBs is needed across a complex network topology or when a server architecture is deployed on a cloud provider, there’s a new feature for the EJB server and client applications: A lite and thin client that can be used to communicate via HTTP(S) instead of IIOP-RMI.

See Lite Remote EJB Communication for detailed information.

Advanced Persistent Timer Configuration

If using an external RDBMS engine for storing persistent timer data is not an option, it is also possible to use the Domain Data Grid (introduced on Payara Server 5) to function as a replacement in production environments.

See Persistent EJB Timers on the Domain Data Grid for detailed information.

Configuring MDB Bean Pool Size with ActivationConfigProperty

Since Payara Server 5.193

It is now possible to configure the MDB bean pool size with the ActivationConfigProperty. Any Bean annotated with @MessageDriven can use @ActivationConfigProperty to set property names and property values. For Example;

@ActivationConfigProperty(propertyName = ""MaxPoolSize"", propertyValue = "100")

MaxPoolSize, MaxWaitTimeInMillis, PoolResizeQuantity, SteadyPoolSize and PoolIdleTimeoutInSeconds are all MDB pool properties that can configured using @ActivationConfigProperty