= System Properties Listing
:index-group: Unrevised
:jbake-date: 2018-12-05
:jbake-type: page
:jbake-status: published


== OpenEJB system properties

Name

Value

Description

openejb.embedded.remotable

bool

activate or not the remote services when available

.bind, <service prefix>.port, <service prefix>.disabled, <service
prefix>.threads

host or IP, port, bool

override the host. Available for ejbd and httpejbd services (used by
jaxws and jaxrs), number of thread to maneg requests

openejb.embedded.initialcontext.close

LOGOUT or DESTROY

configure the hook called when closing the initial context. Useful when
starting OpenEJB from a new InitialContext([properties]) instantiation.
By default it simply logs out the logged user if it exists. DESTROY
means clean the container.

jakarta.persistence.provider

string

override the JPA provider value

jakarta.persistence.transactionType

string

override the transaction type for persistence contexts

jakarta.persistence.jtaDataSource

string

override the JTA datasource value for persistence contexts

jakarta.persistence.nonJtaDataSource

string

override the non JTA datasource value for persistence contexts

openejb.descriptors.output

bool

dump memory deployment descriptors. Can be used to set complete metadata
to true and avoid scanning when starting the container or to check the
used configuration.

openejb.deployments.classpath.require.descriptor

CLIENT or EJB

can allow to filter what you want to scan (client modules or ejb
modules)

openejb.descriptors.output.folder

path

where to dump deployement descriptors if activated.

openejb.strict.interface.declaration

bool

add some validations on session beans (spec validations in particular).
false by default.

openejb.conf.file or openejb.configuration

string

OpenEJB configuration file path

openejb.debuggable-vm-hackery

bool

remove JMS informations from deployment

openejb.validation.skip

bool

skip the validations done when OpenEJB deploys beans

openejb.deployments.classpath.ear

bool

deploy the classpath as an ear

openejb.webservices.enabled

bool

activate or not webservices

openejb.validation.output.level

TERSE or MEDIUM or VERBOSE

level of the logs used to report validation errors

openejb.user.mbeans.list

* or a list of classes separated by ,
+
+
+
list of mbeans to deploy automatically
+
+
+
+
+
openejb.deploymentId.format
+
+
+
composition (+string) of \{ejbName} \{ejbType} \{ejbClass} and
\{ejbClass.simpleName}
+
+
+
default \{ejbName}. The format to use to deploy ejbs.
+
+
+
+
+
openejb.deployments.classpath
+
+
+
bool
+
+
+
whether or not deploy from classpath
+
+
+
+
+
openejb.deployments.classpath.include and
openejb.deployments.classpath.exclude
+
+
+
regex
+
+
+
regex to filter the scanned classpath (when you are in this case)
+
+
+
+
+
openejb.deployments.package.include and
openejb.deployments.package.exclude
+
+
+
regex
+
+
+
regex to filter scanned packages
+
+
+
+
+
openejb.autocreate.jta-datasource-from-non-jta-one
+
+
+
bool
+
+
+
whether or not auto create the jta datasource if it doesn't exist but a
non jta datasource exists. Useful when using hibernate to be able to get
a real non jta datasource.
+
+
+
+
+
openejb.altdd.prefix
+
+
+
string
+
+
+
prefix use for altDD (example test to use a test.ejb-jar.xml).
+
+
+
+
+
org.apache.openejb.default.system.interceptors
+
+
+
list of interceptor (qualified names) separated by a comma or a space
+
+
+
add these interceptor on all beans
+
+
+
+
+
openejb.jndiname.strategy.class
+
+
+
class name
+
+
+
an implementation of
org.apache.openejb.assembler.classic.JndiBuilder.JndiNameStrategy
+
+
+
+
+
openejb.jndiname.failoncollision
+
+
+
bool
+
+
+
if a NameAlreadyBoundException is thrown or not when 2 EJBs have the
same name
+
+
+
+
+
openejb.jndiname.format
+
+
+
composition (+string) of these properties: ejbType, ejbClass,
ejbClass.simpleName, ejbClass.packageName, ejbName, deploymentId,
interfaceType, interfaceType.annotationName,
interfaceType.annotationNameLC, interfaceType.xmlName,
interfaceType.xmlNameCc, interfaceType.openejbLegacyName,
interfaceClass, interfaceClass.simpleName, interfaceClass.packageName
+
+
+
default \{deploymentId}\{interfaceType.annotationName}. Change the name
used for the ejb.
+
+
+
+
+
openejb.org.quartz.threadPool.class
+
+
+
class qualified name which implements org.quartz.spi.ThreadPool
+
+
+
the thread pool used by quartz (used to manage ejb timers)
+
+
+
+
+
openejb.localcopy
+
+
+
bool
+
+
+
default true. whether or not copy EJB arguments[/method/interface] for
remote invocations.
+
+
+
+
+
openejb.cxf.jax-rs.providers
+
+
+
the list of the qualified name of the JAX-RS providers separated by
comma or space. Note: to specify a provider for a specific service
suffix its class qualified name by ".providers", the value follow the
same rules. Note 2: default is a shortcut for jaxb and json providers.
+
+
+
+
+
+
+
openejb.wsAddress.format
+
+
+
composition (+string) of \{ejbJarId}, ejbDeploymentId, ejbType,
ejbClass, ejbClass.simpleName, ejbName, portComponentName, wsdlPort,
wsdlService
+
+
+
default /\{ejbDeploymentId}. The WS name format.
+
+
+
+
+
org.apache.openejb.server.webservices.saaj.provider
+
+
+
axis2, sun or null
+
+
+
specified the saaj configuration
+
+
+
+
+
[<uppercase service name>.]<service id>.<name> or [<uppercase service
name>.]<service id>
+
+
+
whatever is supported (generally string, int ...)
+
+
+
set this value to the corresponding service. example:
[EnterpriseBean.]<ejb-name>.activation.<property>,
[PERSISTENCEUNIT.]<persistence unit name>.<property>, [RESOURCE.]<name>
+
+
+
+
+
log4j.category.OpenEJB.options
+
+
+
DEBUG, INFO, ...
+
+
+
active one OpenEJB log level. need log4j in the classpath
+
+
+
+
+
openejb.jmx.active
+
+
+
bool
+
+
+
activate (by default) or not the OpenEJB JMX MBeans
+
+
+
+
+
openejb.nobanner
+
+
+
bool
+
+
+
activate or not the OpenEJB banner (activated by default)
+
+
+
openejb.check.classloader
+
+
+
bool
+
+
+
if true print some information about duplicated classes
+
+
+
+
+
openejb.check.classloader.verbose
+
+
+
bool
+
+
+
if true print classes intersections
+
+
+
+
+
openejb.additional.exclude
+
+
+
string separated by comma
+
+
+
list of prefixes you want to exclude and are not in the default list of
exclusion
+
+
+
+
+
openejb.additional.include
+
+
+
string separated by comma
+
+
+
list of prefixes you want to remove from thedefault list of exclusion
+
+
+
+
+
openejb.offline
+
+
+
bool
+
+
+
if true can create datasources and containers automatically
+
+
+
+
+
openejb.exclude-include.order
+
+
+
include-exclude or exclude-include
+
+
+
if the inclusion/exclusion should win on conflicts (intersection)
+
+
+
+
+
openejb.log.color
+
+
+
bool
+
+
+
activate or not the color in the console in embedded mode
+
+
+
+
+
openejb.log.color.<level in lowercase>
+
+
+
color in uppercase
+
+
+
set a color for a particular level. Color are BLACK, RED, GREEN, YELLOW,
BLUE, MAGENTA, CYAN, WHITE, DEFAULT.
+
+
+
+
+
tomee.serialization.class.blacklist
+
+
+
string
+
+
+
default list of packages/classnames excluded for EJBd deserialization
(needs to be set on server and client sides). Please see the description
of Ejbd Transport for details.
+
+
+
+
+
tomee.serialization.class.whitelist
+
+
+
string
+
+
+
default list of packages/classnames allowed for EJBd deserialization
(blacklist wins over whitelist, needs to be set on server and client
sides). Please see the description of Ejbd Transport for details.
+
+
+
+
+
tomee.remote.support
+
+
+
boolean
+
+
+
if true /tomee webapp is auto-deployed and EJBd is active (true by
default for 1.x, false for 7.x excepted for tomee maven plugin and
arquillian)
+
+
+

Note: all resources can be configured by properties, see
http://tomee.apache.org/embedded-configuration.html and
http://tomee.apache.org/properties-tool.html

== OpenEJB client

Name

Value

Description

openejb.client.identityResolver

implementation of org.apache.openejb.client.IdentityResolver

default org.apache.openejb.client.JaasIdentityResolver. The class to get
the client identity.

openejb.client.connection.pool.timeout or
openejb.client.connectionpool.timeout

int (ms)

the timeout of the client

openejb.client.connection.pool.size or
openejb.client.connectionpool.size

int

size of the socket pool

openejb.client.keepalive

int (ms)

the keepalive duration

openejb.client.protocol.version

string

Optional legacy server protocol compatibility level. Allows 4.6.x
clients to potentially communicate with older servers. OpenEJB 4.5.2 and
older use version "3.1", and 4.6.x currently uses version "4.6"
(Default). This does not allow old clients to communicate with new
servers prior to 4.6.0

== TomEE specific system properties

Name

Value

Description

openejb.crosscontext

bool

set the cross context property on tomcat context (can be done in the
traditionnal way if the deployment is don through the webapp discovery
and not the OpenEJB Deployer EJB)

openejb.jsessionid-support

bool

remove URL from session tracking modes for this context (see
jakarta.servlet.SessionTrackingMode)

openejb.myfaces.disable-default-values

bool

by default TomEE will initialize myfaces with some its default values to
avoid useless logging

openejb.web.xml.major

int

major version of web.xml. Can be useful to force tomcat to scan servlet
3 annotatino when deploying with a servlet 2.x web.xml

tomee.jaxws.subcontext

string

sub context used to bind jaxws web services, default is webservices

openejb.servicemanager.enabled

bool

run all services detected or only known available services (WS and RS

tomee.jaxws.oldsubcontext

bool

wether or not activate old way to bind jaxws webservices directly on
root context

openejb.modulename.useHash

bool

add a hash after the module name of the webmodule if it is generated
from the webmodule location, it avoids conflicts between multiple
deployment (through ear) of the same webapp. Note: it disactivated by
default since names are less nice this way.

openejb.session.manager

qualified name (string)

configure a session managaer to use for all contexts

== TomEE Arquillian adaptor

Name

Value

Description

tomee.ejbcontainer.http.port

int

tomee port, -1 means random. When using a random port you can retreive
it getting this property too.

tomee.arquillian.http

int

http port used by the embedded arquillian adaptor

tomee.arquillian.stop

int

shutdown port used by the embedded arquillian adaptor
