# OpenEJB system properties |Name | Value | Description| ---------------------------- |openejb.embedded.remotable| bool | actiavte or not the remote services when available | |.bind, .port, .disabled, .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.| |javax.persistence.provider | string | override the JPA provider value| |javax.persistence.transactionType | string | override the transaction type for persistence contexts| |javax.persistence.jtaDataSource | string | override the JTA datasource value for persistence contexts| |javax.persistence.nonJtaDataSource | string | override the non JTA datasource value for persistence contexts| |openejb.descriptors.output | 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.read-all.persistence.xml | bool | allow to scan persistence.xml in lib of the deployed webapp| |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| |[.]. or [.]| | whatever is supported (generally string, int ...) | set this value to the corresponding service. example: [EnterpriseBean.].activation., [PERSISTENCEUNIT.]., [RESOURCE.]| ...| | log4j.category.OpenEJB.options | DEBUG, INFO, ... | active one OpenEJB log level | openejb.jmx.active | bool | activate (by default) or not the OpenEJB JMX MBeans | | openejb.logger.external | bool | use another log configuration(log4j for instance) | | openejb.nobanner | bool | activate or not the OpenEJB banner (activated by default) Note: all resources can be configured by properties, see http://openejb.apache.org/embedded-configuration.html and http://openejb.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| # 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 javax.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 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|