Payara Server Deployment Descriptor Files
By default, the Payara Platform allows the use of standard GlassFish Server deployment descriptor files to configure application behaviour.
Payara Platform Deployment Descriptors
The payara-web.xml
deployment descriptor can be used instead of glassfish-web.xml
. The top level element for the payara-web.xml
file must be payara-web-app
and the schema is referenced by the following declaration:
<!DOCTYPE payara-web-app PUBLIC "-//Payara.fish//DTD Payara Server 4 Servlet 3.0//EN" "https://raw.githubusercontent.com/payara/Payara-Documentation/main-5/docs/modules/ROOT/pages/Appendix/Schemas/payara-web-app_4.dtd">
The payara-resources.xml
can be used instead of glassfish-resources.xml
. Its structure is exactly the same, and the schema is referenced by the following declaration:
<!DOCTYPE resources PUBLIC "-//Payara.fish//DTD Payara Server 4 Resource Definitions//EN" "https://raw.githubusercontent.com/payara/Payara-Documentation/main-5/docs/modules/ROOT/pages/Appendix/Schemas/payara-resources_1_7.dtd">
See the schema reference for the list of deployment descriptor DTD files.
Allowed configuration elements
The following elements are supported in Payara Server on top of elements supported by GlassFish:
glassfish-application.xml
-
classloading-delegate
-
enable-implicit-cdi
-
default-role-mapping
(property) -
whitelist-package
-
scanning-exclude
-
scanning-include
glassfish-web.xml and payara-web.xml
-
container-initialized-enabled
-
default-role-mapping
(property) -
jaxrs-roles-allowed-enabled
-
scanning-exclude
-
scanning-include
-
jsp-config
-
whitelist-package
-
cookie-properties
-
cookieSameSite
(property)
-
glassfish-ejb-jar.xml
-
webservice-default-login-config
-
default-role-mapping
(property) -
enterprise-beans
-
ejb
-
ejb-name
-
clustered-bean
-
clustered-key-name
-
clustered-lock-type
-
clustered-attach-postconstruct
-
clustered-detach-predestroy
-
-
payara-resources.xml
The structure of the payara-resources.xml is the same as glassfish-resources.xml with the following additional configurations:
-
snapshot
(property of transaction isolation, this isolation level is only supported by Microsoft SQL Server) -
log-jdbc-calls
(attribute of `jdbc-connection-pool`) -
managed-executor-service
(used to configure a newManagedExecutorService
) -
managed-scheduled-executor-service
(used to configure a new ManagedScheduledExecutorService) -
managed-thread-factory
(used to configure a new ManagedThreadFactory)
Configuration of concurrency objects is demonstrated in the Payara Samples - Custom ManagedExecutorService sample project.
Deployment Descriptor Precedence Order
When multiple vendor deployment descriptors are present in the same module (including deployment descriptors of the old Sun Application Server), the descriptors are processed with the following precedence order in default mode:
WebLogic Server > Payara Platform > GlassFish Server > Sun Application Server
The default precedence order can be customized and configured via the system properties documented in the following sections.
gfdd.over.wlsdd
This system property controls the precedence between GlassFish Server and WebLogic Server deployment descriptors when they are both present. When the gfdd.over.wlsdd
property is set to true, the descriptors are processed in this order:
Payara Platform > GlassFish Server > WebLogic Server > Sun Application Server