= Container Configuration
:jbake-date: 2016-03-16
:jbake-type: page
:jbake-status: published
:jbake-tomeepdf:

== Server

[.table.table-bordered,options="header"]
|===
|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 manage 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 deployment 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 information 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	|class names|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 |string|composition 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	|string|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	|string| composition 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 the default 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)
|openejb.crosscontext	|bool|	set the cross context property on tomcat context (can be done in the traditional way if the deployment is done 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 annotation 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|	whether 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 manager to use for all contexts
|tomee.tomcat.resource.wrap	|bool|wrap tomcat resources (context.xml) as tomee resources if possible (true by default)
|tomee.tomcat.datasource.wrap	|bool|same as tomee.tomcat.resource.wrap for datasource (false by default). Note that setting it to true will create tomee datasources but can have the side effect to create twice singleton resources
|openejb.environment.default	|bool|should default JMS resources be created or not, defaults to false to ensure no port is bound or multiple resources are created and completely uncontrolled (doesn't apply to datasources etc. for compatibility). For tests only!
|===

== Client

[.table.table-bordered,options="header"]
|===
|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.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.
|===
