A CmpEntityContainer can be declared via xml in the <tomee-home>/conf/tomee.xml file or in a WEB-INF/resources.xml file using a declaration like the following. All properties in the element body are optional.

<Container id="myCmpEntityContainer" type="CMP_ENTITY">
    cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
</Container>

Alternatively, a CmpEntityContainer can be declared via properties in the <tomee-home>/conf/system.properties file or via Java VirtualMachine -D properties. The properties can also be used when embedding TomEE via the javax.ejb.embeddable.EJBContainer API or InitialContext

myCmpEntityContainer = new://Container?type=CMP_ENTITY
myCmpEntityContainer.cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory

Properties and xml can be mixed. Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution. Properties are not case sensitive. If a property is specified that is not supported by the declared CmpEntityContainer a warning will be logged. If a CmpEntityContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings. Multiple CmpEntityContainer declarations are allowed.

Supported Properties

Property Type Default Description
cmpEngineFactory String org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory