You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by vi...@apache.org on 2012/04/28 04:23:30 UTC

svn commit: r1331658 - /openejb/site/trunk/content/containers-and-resources.mdtext

Author: vishwanathk
Date: Sat Apr 28 02:23:30 2012
New Revision: 1331658

URL: http://svn.apache.org/viewvc?rev=1331658&view=rev
Log:
Revert to tables as in the old-site. Easier to read when presented in table

Modified:
    openejb/site/trunk/content/containers-and-resources.mdtext

Modified: openejb/site/trunk/content/containers-and-resources.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/containers-and-resources.mdtext?rev=1331658&r1=1331657&r2=1331658&view=diff
==============================================================================
--- openejb/site/trunk/content/containers-and-resources.mdtext (original)
+++ openejb/site/trunk/content/containers-and-resources.mdtext Sat Apr 28 02:23:30 2012
@@ -1,876 +1,456 @@
-# STATELESS <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="STATELESS">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=STATELESS
-
-## Properties
-
-### AccessTimeout
-
-Specifies the time an invokation should wait for an instance
-of the pool to become available.
-
-After the timeout is reached, if an instance in the pool cannot
-be obtained, the method invocation will fail.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-### MaxSize
-
-Specifies the size of the bean pools for this stateless
-SessionBean container.  If StrictPooling is not used, instances
-will still be created beyond this number if there is demand, but
-they will not be returned to the pool and instead will be
-immediately destroyed.
-
-### MinSize
-
-Specifies the minimum number of bean instances that should be in
-the pool for each bean.  Pools are prefilled to the minimum on
-startup.  Note this will create start order dependencies between
-other beans that also eagerly start, such as other `@Stateless`
-beans with a minimum or `@Singleton` beans using `@Startup`.  The
-start order.
-
-The minimum pool size is rigidly maintained.  Instances in the
-minimum side of the pool are not eligible for `IdleTimeout` or
-`GarbageCollection`, but are subject to `MaxAge` and flushing.
-
-If the pool is flushed it is immediately refilled to the minimum
-size with `MaxAgeOffset` applied.  If an instance from the minimum
-side of the pool reaches its `MaxAge`, it is also immediately
-replaced.  Replacement is done in a background queue using the
-number of threads specified by `CallbackThreads`.
-
-### StrictPooling
-
-StrictPooling tells the container what to do when the pool
-reaches it's maximum size and there are incoming requests that
-need instances.
-
-With strict pooling, requests will have to wait for instances to
-become available. The pool size will never grow beyond the the
-set `MaxSize` value.  The maximum amount of time a request should
-wait is specified via the `AccessTimeout` setting.
-
-Without strict pooling, the container will create temporary
-instances to meet demand. The instances will last for just one
-method invocation and then are removed.
-
-Setting `StrictPooling` to `false` and `MaxSize` to `0` will result in
-no pooling. Instead instances will be created on demand and live
-for exactly one method call before being removed.
-
-### MaxAge
-
-Specifies the maximum time that an instance should live before
-it should be retired and removed from use.  This will happen
-gracefully.  Useful for situations where bean instances are
-designed to hold potentially expensive resources such as memory
-or file handles and need to be periodically cleared out.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-### ReplaceAged
-
-When `ReplaceAged` is enabled, any instances in the pool that
-expire due to reaching their `MaxAge` will be replaced immediately
-so that the pool will remain at its current size.  Replacement
-is done in a background queue so that incoming threads will not
-have to wait for instance creation.
-
-The aim of his option is to prevent user requests from paying
-the instance creation cost as `MaxAge` is enforced, potentially
-while under heavy load at peak hours.
-
-Instances from the minimum side of the pool are always replaced
-when they reach their `MaxAge`, this setting dictates the
-treatment of non-minimum instances.
-
-### ReplaceFlushed
-
-When `ReplaceFlushed` is enabled, any instances in the pool that
-are flushed will be replaced immediately so that the pool will
-remain at its current size.  Replacement is done in a background
-queue so that incoming threads will not have to wait for
-instance creation.
-
-The aim of his option is to prevent user requests from paying
-the instance creation cost if a flush performed while under
-heavy load at peak hours.
-
-Instances from the minimum side of the pool are always replaced
-when they are flushed, this setting dictates the treatment of
-non-minimum instances.
-
-A bean may flush its pool by casting the `SessionContext` to
-`Flushable` and calling `flush()`.  See `SweepInterval` for details on
-how flush is performed.
-
-    import javax.annotation.Resource;
-    import javax.ejb.SessionContext;
-    import javax.ejb.Stateless;
-    import java.io.Flushable;
-    import java.io.IOException;
-
-    public class MyBean {
-
-        private SessionContext sessionContext;
-
-        public void flush() throws IOException {
-
-            ((Flushable) sessionContext).flush();
-        }
-    }
-
-### MaxAgeOffset
-
-Applies to MaxAge usage and would rarely be changed, but is a
-nice feature to understand.
-
-When the container first starts and the pool is filled to the
-minimum size, all those "minimum" instances will have the same
-creation time and therefore all expire at the same time dictated
-by the `MaxAge` setting.  To protect against this sudden drop
-scenario and provide a more gradual expiration from the start
-the container will spread out the age of the instances that fill
-the pool to the minimum using an offset.
-
-The `MaxAgeOffset` is not the final value of the offset, but
-rather it is used in creating the offset and allows the
-spreading to push the initial ages into the future or into the
-past.  The pool is filled at startup as follows:
-
-    for (int i = 0; i < poolMin; i++) {
-        long ageOffset = (maxAge / poolMin * i * maxAgeOffset) % maxAge;
-        pool.add(new Bean(), ageOffset));
-    }
-
-The default `MaxAgeOffset` is -1 which causes the initial
-instances in the pool to live a bit longer before expiring.  As
-a concrete example, let's say the MinSize is 4 and the MaxAge is
-100 years.  The generated offsets for the four instances created
-at startup would be 0, -25, -50, -75.  So the first instance
-would be "born" at age 0, die at 100, living 100 years.  The
-second instance would be born at -25, die at 100, living a total
-of 125 years.  The third would live 150 years.  The fourth 175
-years.
-
-A `MaxAgeOffset` of 1 would cause instances to be "born" older
-and therefore die sooner.  Using the same example `MinSize` of 4
-and `MaxAge` of `100 years`, the life spans of these initial four
-instances would be 100, 75, 50, and 25 years respectively.
-
-A `MaxAgeOffset` of 0 will cause no "spreading" of the age of the
-first instances used to fill the pool to the minimum and these
-instances will of course reach their MaxAge at the same time.
-It is possible to set to decimal values such as -0.5, 0.5, -1.2,
-or 1.2.
-
-### IdleTimeout
-
-Specifies the maximum time that an instance should be allowed to
-sit idly in the pool without use before it should be retired and
-removed.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-### GarbageCollection
-
-Allows Garbage Collection to be used as a mechanism for shrinking
-the pool.  When set to true all instances in the pool, excluding
-the minimum, are eligible for garbage collection by the virtual
-machine as per the rules of `java.lang.ref.SoftReference` and can be
-claimed by the JVM to free memory.  Instances garbage collected
-will have their `@PreDestroy` methods called during finalization.
-
-In the OpenJDK VM the `-XX:SoftRefLRUPolicyMSPerMB` flag can adjust
-how aggressively SoftReferences are collected.  The default
-OpenJDK setting is 1000, resulting in inactive pooled instances
-living one second of lifetime per free megabyte in the heap, which
-is very aggressive.  The setting should be increased to get the
-most out of the `GarbageCollection` feature of the pool.  Much
-higher settings are safe.  Even a setting as high as 3600000 (1
-hour per free MB in the heap) does not affect the ability for the
-VM to garbage collect SoftReferences in the event that memory is
-needed to avoid an `OutOfMemoryException`.
-
-### SweepInterval
-
-The frequency in which the container will sweep the pool and
-evict expired instances.  Eviction is how the `IdleTimeout`,
-`MaxAge`, and pool "flush" functionality is enforced.  Higher
-intervals are better.
-
-Instances in use are excluded from sweeping.  Should an instance
-expire while in use it will be evicted immediately upon return
-to the pool.  Effectively `MaxAge` and flushes will be enforced as
-a part of normal activity or sweeping, while IdleTimeout is only
-enforcable via sweeping.  This makes aggressive sweeping less
-important for a pool under moderate load.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-### CallbackThreads
-
-When sweeping the pool for expired instances a thread pool is
-used to process calling `@PreDestroy` on expired instances as well
-as creating new instances as might be required to fill the pool
-to the minimum after a Flush or `MaxAge` expiration.  The
-`CallbackThreads` setting dictates the size of the thread pool and
-is shared by all beans deployed in the container.
-
-### CloseTimeout
-
-PostConstruct methods are invoked on all instances in the pool
-when the bean is undeployed and its pool is closed.  The
-`CloseTimeout` specifies the maximum time to wait for the pool to
-close and `PostConstruct` methods to be invoked.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-## Default declaration
-    <Container id="Default Stateless Container" type="STATELESS">
-        AccessTimeout = 30 seconds
-        MaxSize = 10
-        MinSize = 0
-        StrictPooling = true
-        MaxAge = 0 hours
-        ReplaceAged = true
-        ReplaceFlushed = false
-        MaxAgeOffset = -1
-        IdleTimeout = 0 minutes
-        GarbageCollection = false
-        SweepInterval = 5 minutes
-        CallbackThreads = 5
-        CloseTimeout = 5 minutes
-    </Container>
-
-# STATEFUL <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="STATEFUL">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=STATEFUL
-
-## Properties
-
-### AccessTimeout
-
-Specifies the maximum time an invocation could wait for the
-`@Stateful` bean instance to become available before giving up.
-
-After the timeout is reached a `javax.ejb.ConcurrentAccessTimeoutException`
-will be thrown.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-### Cache
-
-The cache is responsible for managing stateful bean
-instances.  The cache can page instances to disk as memory
-is filled and can destroy abandoned instances.  A different
-cache implementation can be used by setting this property
-to the fully qualified class name of the Cache implementation.
-
-### Passivator
-
-The passivator is responsible for writing beans to disk
-at passivation time. Different passivators can be used
-by setting this property to the fully qualified class name
-of the `PassivationStrategy` implementation. The passivator
-is not responsible for invoking any callbacks or other
-processing, its only responsibly is to write the bean state
-to disk.
-
-Known implementations:
-
-- org.apache.openejb.core.stateful.RAFPassivater
-- org.apache.openejb.core.stateful.SimplePassivater
-
-### TimeOut
-
-Specifies the time a bean can be idle before it is removed by the container.
-
-This value is measured in minutes. A value of 5 would
-result in a time-out of 5 minutes between invocations.
-A value of -1 would mean no timeout.
-A value of 0 would mean a bean can be immediately removed by the container.
-
-Any usage of the `javax.ejb.StatefulTimeout` annotation will
-override this setting for the bean where the annotation is used.
-
-### Frequency
-
-Specifies the frequency (in seconds) at which the bean cache is checked for 
-idle beans.
-
-### Capacity
-
-Specifies the size of the bean pools for this
-stateful SessionBean container.
-
-### BulkPassivate
-
-Property name that specifies the number of instances
-to passivate at one time when doing bulk passivation.
-
-## Default declaration
-    <Container id="Default Stateful Container" type="STATEFUL">
-        AccessTimeout = 30 seconds
-        Cache = org.apache.openejb.core.stateful.SimpleCache
-        Passivator = org.apache.openejb.core.stateful.SimplePassivater
-        TimeOut = 20
-        Frequency = 60
-        Capacity = 1000
-        BulkPassivate = 100
-    </Container>
-
-# SINGLETON <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="SINGLETON">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=SINGLETON
-
-## Properties
-
-### AccessTimeout
-
-Specifies the maximum time an invocation could wait for the
-`@Singleton` bean instance to become available before giving up.
-
-After the timeout is reached a `javax.ejb.ConcurrentAccessTimeoutException`
-will be thrown.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-## Default declaration
-    <Container id="Default Singleton Container" type="SINGLETON">
-        AccessTimeout = 30 seconds
-    </Container>
-
-# MESSAGE <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="MESSAGE">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=MESSAGE
-
-## Properties
-
-### ResourceAdapter
-
-The resource adapter delivers messages to the container
-
-### MessageListenerInterface
-
-Specifies the message listener interface handled by this container
-
-### ActivationSpecClass
-
-Specifies the activation spec class
-
-### InstanceLimit
-
-Specifies the maximum number of bean instances that are
-allowed to exist for each MDB deployment.
-
-## Default declaration
-    <Container id="Default MDB Container" type="MESSAGE">
-        ResourceAdapter = Default JMS Resource Adapter
-        MessageListenerInterface = javax.jms.MessageListener
-        ActivationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec
-        InstanceLimit = 10
-    </Container>
-
-# MANAGED <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="MANAGED">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=MANAGED
-
-No properties.
-
-# CMP_ENTITY <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="CMP_ENTITY">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=CMP_ENTITY
-
-## Properties
-
-### CmpEngineFactory
-
-No description.
-
-## Default declaration
-    <Container id="Default CMP Container" type="CMP_ENTITY">
-        CmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
-    </Container>
-
-# BMP_ENTITY <small>Container </small>
-
-Declarable in openejb.xml via
-
-    <Container id="Foo" type="BMP_ENTITY">
-    </Container>
-
-Declarable in properties via
-
-    Foo = new://Container?type=BMP_ENTITY
-
-## Properties
-
-### PoolSize
-
-Specifies the size of the bean pools for this
-bmp entity container.
-
-## Default declaration
-    <Container id="Default BMP Container" type="BMP_ENTITY">
-        PoolSize = 10
-    </Container>
-
-
-# javax.sql.DataSource <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="javax.sql.DataSource">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=javax.sql.DataSource
-
-## Properties
-
-### Definition
-
-No description.
-
-### JtaManaged
-
-Determines wether or not this data source should be JTA managed
-or user managed.  If set to 'true' it will automatically be enrolled
-in any ongoing transactions.  Calling begin/commit/rollback or setAutoCommit
-on the datasource or connection will not be allowed.  If you need to perform
-these functions yourself, set `JtaManaged` to `false`
-
-In terms of JPA persistence.xml:
-
-- `JtaManaged=true` can be used as a 'jta-data-source'
-- `JtaManaged=false` can be used as a 'non-jta-data-source'
-
-### JdbcDriver
-
-Driver class name
-
-### JdbcUrl
-
-Url for creating connections
-
-### UserName
-
-Default user name
-
-### Password
-
-Default password
-
-### PasswordCipher
-
-No description.
-
-### ConnectionProperties
-
-The connection properties that will be sent to the JDBC
-driver when establishing new connections
-
-Format of the string must be [propertyName=property;]*
-
-NOTE - The "user" and "password" properties will be passed
-explicitly, so they do not need to be included here.
-
-### DefaultAutoCommit
-
-The default auto-commit state of new connections
-
-### DefaultReadOnly
-
-The default read-only state of new connections
-If not set then the setReadOnly method will not be called.
-(Some drivers don't support read only mode, ex: Informix)
-
-### DefaultTransactionIsolation
-
-The default TransactionIsolation state of new connections
-If not set then the `setTransactionIsolation` method will not
-be called. The allowed values for this property are:
-
-- `NONE`
-- `READ_COMMITTED`
-- `READ_UNCOMMITTED`
-- `REPEATABLE_READ`
-- `SERIALIZABLE`
-
-Note: Most JDBC drivers do not support all isolation levels
-
-### InitialSize
-
-The initial number of connections that are created when the
-pool is started
-
-### MaxActive
-
-The maximum number of active connections that can be
-allocated from this pool at the same time, or a negative
-number for no limit.
-
-### MaxIdle
-
-The maximum number of connections that can remain idle in
-the pool, without extra ones being released, or a negative
-number for no limit.
-
-### MinIdle
-
-The minimum number of connections that can remain idle in
-the pool, without extra ones being created, or zero to
-create none.
-
-### MaxWait
-
-The maximum number of milliseconds that the pool will wait
-(when there are no available connections) for a connection
-to be returned before throwing an exception, or -1 to wait
-indefinitely.
-
-### ValidationQuery
-
-The SQL query that will be used to validate connections from
-this pool before returning them to the caller. If specified,
-this query MUST be an SQL SELECT statement that returns at
-least one row.
-
-### TestOnBorrow
-
-If true connections will be validated before being returned
-from the pool. If the validation fails, the connection is
-destroyed, and a new conection will be retrieved from the
-pool (and validated).
-
-NOTE - for a true value to have any effect, the
-ValidationQuery parameter must be set.
-
-### TestOnReturn
-
-If true connections will be validated before being returned
-to the pool.  If the validation fails, the connection is
-destroyed instead of being returned to the pool.
-
-NOTE - for a true value to have any effect, the
-ValidationQuery parameter must be set.
-
-### TestWhileIdle
-
-If true connections will be validated by the idle connection
-evictor (if any). If the validation fails, the connection is
-destroyed and removed from the pool
-
-NOTE - for a true value to have any effect, the
-timeBetweenEvictionRunsMillis property must be a positive
-number and the ValidationQuery parameter must be set.
-
-### TimeBetweenEvictionRunsMillis
-
-The number of milliseconds to sleep between runs of the idle
-connection evictor thread. When set to a negative number, no
-idle connection evictor thread will be run.
-
-### NumTestsPerEvictionRun
-
-The number of connectionss to examine during each run of the
-idle connection evictor thread (if any).
-
-### MinEvictableIdleTimeMillis
-
-The minimum amount of time a connection may sit idle in the
-pool before it is eligable for eviction by the idle
-connection evictor (if any).
-
-### PoolPreparedStatements
-
-If true, a statement pool is created for each Connection and
-PreparedStatements created by one of the following methods are
-pooled:
-
-    public PreparedStatement prepareStatement(String sql);
-    public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
-
-### MaxOpenPreparedStatements
-
-The maximum number of open statements that can be allocated
-from the statement pool at the same time, or zero for no
-limit.
-
-NOTE - Some drivers have limits on the number of open
-statements, so make sure there are some resources left
-for the other (non-prepared) statements.
-
-### AccessToUnderlyingConnectionAllowed
-
-If true the raw physical connection to the database can be
-accessed using the following construct:
-
-    Connection conn = ds.getConnection();
-    Connection rawConn = ((DelegatingConnection) conn).getInnermostDelegate();
-    ...
-    conn.close()
-
-Default is false, because misbehaving programs can do harmfull
-things to the raw connection shuch as closing the raw
-connection or continuing to use the raw connection after it
-has been assigned to another logical connection.  Be careful
-and only use when you need direct access to driver specific
-extensions.
-
-NOTE: Do NOT close the underlying connection, only the
-original logical connection wrapper.
-
-## Default declaration
-    <Resource id="Default JDBC Database" type="javax.sql.DataSource">
-        Definition = 
-        JtaManaged = true
-        JdbcDriver = org.hsqldb.jdbcDriver
-        JdbcUrl = jdbc:hsqldb:file:data/hsqldb/hsqldb
-        UserName = sa
-        Password = 
-        PasswordCipher = PlainText
-        ConnectionProperties = 
-        DefaultAutoCommit = true
-        DefaultReadOnly = 
-        DefaultTransactionIsolation = 
-        InitialSize = 0
-        MaxActive = 20
-        MaxIdle = 20
-        MinIdle = 0
-        MaxWait = -1
-        ValidationQuery = 
-        TestOnBorrow = true
-        TestOnReturn = false
-        TestWhileIdle = false
-        TimeBetweenEvictionRunsMillis = -1
-        NumTestsPerEvictionRun = 3
-        MinEvictableIdleTimeMillis = 1800000
-        PoolPreparedStatements = false
-        MaxOpenPreparedStatements = 0
-        AccessToUnderlyingConnectionAllowed = false
-    </Resource>
-
-# ActiveMQResourceAdapter <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="ActiveMQResourceAdapter">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=ActiveMQResourceAdapter
-
-## Properties
-
-### BrokerXmlConfig
-
-Broker configuration
-
-### ServerUrl
-
-Broker address
-
-### DataSource
-
-DataSource for persistence messages
-
-## Default declaration
-    <Resource id="Default JMS Resource Adapter" type="ActiveMQResourceAdapter">
-        BrokerXmlConfig = broker:(tcp://localhost:61616)?useJmx=false
-        ServerUrl = vm://localhost?async=true
-        DataSource = Default Unmanaged JDBC Database
-    </Resource>
-
-# javax.jms.ConnectionFactory <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="javax.jms.ConnectionFactory">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=javax.jms.ConnectionFactory
-
-## Properties
-
-### ResourceAdapter
-
-No description.
-
-### TransactionSupport
-
-Specifies if the connection is enrolled in global transaction
-allowed values: xa, local or none
-
-### PoolMaxSize
-
-Maximum number of physical connection to the ActiveMQ broker
-
-### PoolMinSize
-
-Minimum number of physical connection to the ActiveMQ broker
-
-### ConnectionMaxWaitMilliseconds
-
-Maximum amount of time to wait for a connection
-
-### ConnectionMaxIdleMinutes
-
-Maximum amount of time a connection can be idle before being reclaimed
-
-## Default declaration
-    <Resource id="Default JMS Connection Factory" type="javax.jms.ConnectionFactory">
-        ResourceAdapter = Default JMS Resource Adapter
-        TransactionSupport = xa
-        PoolMaxSize = 10
-        PoolMinSize = 0
-        ConnectionMaxWaitMilliseconds = 5000
-        ConnectionMaxIdleMinutes = 15
-    </Resource>
-
-# javax.jms.Queue <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="javax.jms.Queue">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=javax.jms.Queue
-
-## Properties
-
-### destination
-
-Specifies the name of the queue
-
-## Default declaration
-    <Resource id="Default Queue" type="javax.jms.Queue">
-        destination = 
-    </Resource>
-
-# javax.jms.Topic <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="javax.jms.Topic">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=javax.jms.Topic
-
-## Properties
-
-### destination
-
-Specifies the name of the topic
-
-## Default declaration
-    <Resource id="Default Topic" type="javax.jms.Topic">
-        destination = 
-    </Resource>
-
-# org.omg.CORBA.ORB <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="org.omg.CORBA.ORB">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=org.omg.CORBA.ORB
-
-No properties.
-
-# javax.mail.Session <small>Resource </small>
-
-Declarable in openejb.xml via
-
-    <Resource id="Foo" type="javax.mail.Session">
-    </Resource>
-
-Declarable in properties via
-
-    Foo = new://Resource?type=javax.mail.Session
-
-No properties.
-
-
+<div id="PageContent">
+              <p><a name="ContainersandResources-containers"></a></p>
+<h1><a name="ContainersandResources-Containers"></a>Containers</h1>
+<p><a name="ContainersandResources-DefaultCMPContainercontainer"></a></p>
+<h2><a name="ContainersandResources-CMPENTITY"></a>CMP_ENTITY</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"CMP_ENTITY"</span>&gt;</span>
+<span class="code-tag">&lt;/Container&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Container?type=CMP_ENTITY</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > CmpEngineFactory </td>
+<td > Default value is <em>org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultBMPContainercontainer"></a></p>
+<h2><a name="ContainersandResources-BMPENTITY"></a>BMP_ENTITY</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"BMP_ENTITY"</span>&gt;</span>
+<span class="code-tag">&lt;/Container&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Container?type=BMP_ENTITY</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > PoolSize </td>
+<td > Specifies the size of the bean pools for this<br class="atl-forced-newline"> bmp entity container.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>10</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultStatelessContainercontainer"></a></p>
+<h2><a name="ContainersandResources-STATELESS"></a>STATELESS</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"STATELESS"</span>&gt;</span>
+<span class="code-tag">&lt;/Container&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Container?type=STATELESS</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > TimeOut </td>
+<td > Specifies the time to wait between invocations. This<br class="atl-forced-newline"> value is measured in milliseconds. A value of 5 would<br class="atl-forced-newline"> result in a time-out of 5 milliseconds between invocations.<br class="atl-forced-newline"> A value of zero would mean no timeout.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>0</em>.</td>
+</tr>
+<tr>
+<td > PoolSize </td>
+<td > Specifies the size of the bean pools for this<br class="atl-forced-newline"> stateless SessionBean container.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>10</em>.</td>
+</tr>
+<tr>
+<td > StrictPooling </td>
+<td > StrictPooling tells the container what to do when the pool<br class="atl-forced-newline"> reaches it's maximum size and there are incoming requests<br class="atl-forced-newline"> that need instances.<br class="atl-forced-newline"> <br class="atl-forced-newline"> With strict pooling, requests will have to wait for instances<br class="atl-forced-newline"> to become available. The pool size will never grow beyond the<br class="atl-forced-newline"> the set PoolSize value.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Without strict pooling, the container will create temporary<br class="atl-forced-newline"> instances to meet demand. The instances will last for just one<br class="atl-forced-newline"> method invocation and then are removed.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>true</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultStatefulContainercontainer"></a></p>
+<h2><a name="ContainersandResources-STATEFUL"></a>STATEFUL</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"STATEFUL"</span>&gt;</span>
+<span class="code-tag">&lt;/Container&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Container?type=STATEFUL</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > Passivator </td>
+<td > The passivator is responsible for writing beans to disk<br class="atl-forced-newline"> at passivation time. Different passivators can be used<br class="atl-forced-newline"> by setting this property to the fully qualified class name<br class="atl-forced-newline"> of the PassivationStrategy implementation. The passivator<br class="atl-forced-newline"> is not responsible for invoking any callbacks or other<br class="atl-forced-newline"> processing, its only responsibly is to write the bean state<br class="atl-forced-newline"> to disk.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Known implementations:<br class="atl-forced-newline"> org.apache.openejb.core.stateful.RAFPassivater<br class="atl-forced-newline"> org.apache.openejb.core.stateful.SimplePassivater<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>org.apache.openejb.core.stateful.SimplePassivater</em>.</td>
+</tr>
+<tr>
+<td > TimeOut </td>
+<td > Specifies the time to wait between invocations. This<br class="atl-forced-newline"> value is measured in minutes. A value of 5 would<br class="atl-forced-newline"> result in a time-out of 5 minutes between invocations.<br class="atl-forced-newline"> A value of zero would mean no timeout.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>20</em>.</td>
+</tr>
+<tr>
+<td > PoolSize </td>
+<td > Specifies the size of the bean pools for this<br class="atl-forced-newline"> stateful SessionBean container.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>1000</em>.</td>
+</tr>
+<tr>
+<td > BulkPassivate </td>
+<td > Property name that specifies the number of instances<br class="atl-forced-newline"> to passivate at one time when doing bulk passivation.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>100</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultMDBContainercontainer"></a></p>
+<h2><a name="ContainersandResources-MESSAGE"></a>MESSAGE</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"MESSAGE"</span>&gt;</span>
+<span class="code-tag">&lt;/Container&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Container?type=MESSAGE</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > ResourceAdapter </td>
+<td > The resource adapter delivers messages to the container<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>Default JMS Resource Adapter</em>.</td>
+</tr>
+<tr>
+<td > MessageListenerInterface </td>
+<td > Specifies the message listener interface handled by this container<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>javax.jms.MessageListener</em>.</td>
+</tr>
+<tr>
+<td > ActivationSpecClass </td>
+<td > Specifies the activation spec class<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>org.apache.activemq.ra.ActiveMQActivationSpec</em>.</td>
+</tr>
+<tr>
+<td > InstanceLimit </td>
+<td > Specifies the maximum number of bean instances that are<br class="atl-forced-newline"> allowed to exist for each MDB deployment.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>10</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+
+<p><a name="ContainersandResources-resources"></a></p>
+<h1><a name="ContainersandResources-Resources"></a>Resources</h1>
+<p><a name="ContainersandResources-DefaultJDBCDatabaseresource"></a></p>
+<h2><a name="ContainersandResources-javax.sql.DataSource"></a>javax.sql.DataSource</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.sql.DataSource"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=javax.sql.DataSource</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > JtaManaged </td>
+<td > Determines wether or not this data source should be JTA managed<br class="atl-forced-newline"> or user managed.&nbsp;&nbsp;If set to 'true' it will automatically be enrolled<br class="atl-forced-newline"> in any ongoing transactions.&nbsp;&nbsp;Calling begin/commit/rollback or setAutoCommit<br class="atl-forced-newline"> on the datasource or connection will not be allowed.&nbsp;&nbsp;If you need to perform<br class="atl-forced-newline"> these functions yourself, set JtaManaged to 'false'<br class="atl-forced-newline"> <br class="atl-forced-newline"> In terms of JPA persistence.xml:<br class="atl-forced-newline"> "JtaManaged=true" can be used as a 'jta-data-source'<br class="atl-forced-newline"> "JtaManaged=false" can be used as a 'non-jta-data-source'<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>true</em>.</td>
+</tr>
+<tr>
+<td > JdbcDriver </td>
+<td > Driver class name<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>org.hsqldb.jdbcDriver</em>.</td>
+</tr>
+<tr>
+<td > JdbcUrl </td>
+<td > Url for creating connections<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>jdbc:hsqldb:file:data/hsqldb/hsqldb</em>.</td>
+</tr>
+<tr>
+<td > UserName </td>
+<td > Default user name<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>sa</em>.</td>
+</tr>
+<tr>
+<td > Password </td>
+<td > Default password</td>
+</tr>
+<tr>
+<td > ConnectionProperties </td>
+<td > The connection properties that will be sent to the JDBC<br class="atl-forced-newline"> driver when establishing new connections<br class="atl-forced-newline"> <br class="atl-forced-newline"> Format of the string must be [propertyName=property;]*<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE - The "user" and "password" properties will be passed<br class="atl-forced-newline"> explicitly, so they do not need to be included here.</td>
+</tr>
+<tr>
+<td > DefaultAutoCommit </td>
+<td > The default auto-commit state of new connections<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>true</em>.</td>
+</tr>
+<tr>
+<td > DefaultReadOnly </td>
+<td > The default read-only state of new connections<br class="atl-forced-newline"> If not set then the setReadOnly method will not be called.<br class="atl-forced-newline"> (Some drivers don't support read only mode, ex: Informix)</td>
+</tr>
+<tr>
+<td > DefaultTransactionIsolation </td>
+<td > The default TransactionIsolation state of new connections<br class="atl-forced-newline"> If not set then the setTransactionIsolation method will not<br class="atl-forced-newline"> be called. The allowed values for this property are:<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; NONE<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; READ_COMMITTED<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; READ_UNCOMMITTED<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; REPEATABLE_READ<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; SERIALIZABLE<br class="atl-forced-newline"> <br class="atl-forced-newline"> Note: Most JDBC drivers do not support all isolation levels</td>
+</tr>
+<tr>
+<td > InitialSize </td>
+<td > The initial number of connections that are created when the<br class="atl-forced-newline"> pool is started<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>0</em>.</td>
+</tr>
+<tr>
+<td > MaxActive </td>
+<td > The maximum number of active connections that can be<br class="atl-forced-newline"> allocated from this pool at the same time, or a negative<br class="atl-forced-newline"> number for no limit.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>20</em>.</td>
+</tr>
+<tr>
+<td > MaxIdle </td>
+<td > The maximum number of connections that can remain idle in<br class="atl-forced-newline"> the pool, without extra ones being released, or a negative<br class="atl-forced-newline"> number for no limit.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>20</em>.</td>
+</tr>
+<tr>
+<td > MinIdle </td>
+<td > The minimum number of connections that can remain idle in<br class="atl-forced-newline"> the pool, without extra ones being created, or zero to<br class="atl-forced-newline"> create none.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>0</em>.</td>
+</tr>
+<tr>
+<td > MaxWait </td>
+<td > The maximum number of milliseconds that the pool will wait<br class="atl-forced-newline"> (when there are no available connections) for a connection<br class="atl-forced-newline"> to be returned before throwing an exception, or -1 to wait<br class="atl-forced-newline"> indefinitely.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>-1</em>.</td>
+</tr>
+<tr>
+<td > ValidationQuery </td>
+<td > The SQL query that will be used to validate connections from<br class="atl-forced-newline"> this pool before returning them to the caller. If specified,<br class="atl-forced-newline"> this query MUST be an SQL SELECT statement that returns at<br class="atl-forced-newline"> least one row.</td>
+</tr>
+<tr>
+<td > TestOnBorrow </td>
+<td > If true connections will be validated before being returned<br class="atl-forced-newline"> from the pool. If the validation fails, the connection is<br class="atl-forced-newline"> destroyed, and a new conection will be retrieved from the<br class="atl-forced-newline"> pool (and validated).<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE - for a true value to have any effect, the<br class="atl-forced-newline"> ValidationQuery parameter must be set.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>true</em>.</td>
+</tr>
+<tr>
+<td > TestOnReturn </td>
+<td > If true connections will be validated before being returned<br class="atl-forced-newline"> to the pool.&nbsp;&nbsp;If the validation fails, the connection is<br class="atl-forced-newline"> destroyed instead of being returned to the pool.<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE - for a true value to have any effect, the<br class="atl-forced-newline"> ValidationQuery parameter must be set.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>false</em>.</td>
+</tr>
+<tr>
+<td > TestWhileIdle </td>
+<td > If true connections will be validated by the idle connection<br class="atl-forced-newline"> evictor (if any). If the validation fails, the connection is<br class="atl-forced-newline"> destroyed and removed from the pool<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE - for a true value to have any effect, the<br class="atl-forced-newline"> timeBetweenEvictionRunsMillis property must be a positive<br class="atl-forced-newline"> number and the ValidationQuery parameter must be set.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>false</em>.</td>
+</tr>
+<tr>
+<td > TimeBetweenEvictionRunsMillis </td>
+<td > The number of milliseconds to sleep between runs of the idle<br class="atl-forced-newline"> connection evictor thread. When set to a negative number, no<br class="atl-forced-newline"> idle connection evictor thread will be run.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>-1</em>.</td>
+</tr>
+<tr>
+<td > NumTestsPerEvictionRun </td>
+<td > The number of connectionss to examine during each run of the<br class="atl-forced-newline"> idle connection evictor thread (if any).<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>3</em>.</td>
+</tr>
+<tr>
+<td > MinEvictableIdleTimeMillis </td>
+<td > The minimum amount of time a connection may sit idle in the<br class="atl-forced-newline"> pool before it is eligable for eviction by the idle<br class="atl-forced-newline"> connection evictor (if any).<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>1800000</em>.</td>
+</tr>
+<tr>
+<td > PoolPreparedStatements </td>
+<td > If true, a statement pool is created for each Connection and<br class="atl-forced-newline"> PreparedStatements created by one of the following methods are<br class="atl-forced-newline"> pooled:<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp;public PreparedStatement prepareStatement(String sql);<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp;public PreparedStatement prepareStatement(String sql,<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int resultSetType,<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int resultSetConcurrency)<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>false</em>.</td>
+</tr>
+<tr>
+<td > MaxOpenPreparedStatements </td>
+<td > The maximum number of open statements that can be allocated<br class="atl-forced-newline"> from the statement pool at the same time, or zero for no<br class="atl-forced-newline"> limit.<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE - Some drivers have limits on the number of open<br class="atl-forced-newline"> statements, so make sure there are some resources left<br class="atl-forced-newline"> for the other (non-prepared) statements.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>0</em>.</td>
+</tr>
+<tr>
+<td > AccessToUnderlyingConnectionAllowed </td>
+<td > If true the raw physical connection to the database can be<br class="atl-forced-newline"> accessed using the following construct:<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; Connection conn = ds.getConnection();<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; Connection rawConn = ((DelegatingConnection) conn).getInnermostDelegate();<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; ...<br class="atl-forced-newline">&nbsp;&nbsp;&nbsp;&nbsp; conn.close()<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default is false, because misbehaving programs can do harmfull<br class="atl-forced-newline"> things to the raw connection shuch as closing the raw<br class="atl-forced-newline"> connection or continuing to use the raw connection after it<br class="atl-forced-newline"> has been assigned to another logical connection.&nbsp;&nbsp;Be carefull<br class="atl-forced-newline"> and only use when you need direct access to driver specific<br clas
 s="atl-forced-newline"> extentions.<br class="atl-forced-newline"> <br class="atl-forced-newline"> NOTE: Do NOT close the underlying connection, only the<br class="atl-forced-newline"> original logical connection wrapper.<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>false</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultJMSResourceAdapterresource"></a></p>
+<h2><a name="ContainersandResources-ActiveMQResourceAdapter"></a>ActiveMQResourceAdapter</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"ActiveMQResourceAdapter"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=ActiveMQResourceAdapter</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > BrokerXmlConfig </td>
+<td > Broker configuration<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>broker:(tcp://localhost:61616)?useJmx=false</em>.</td>
+</tr>
+<tr>
+<td > ServerUrl </td>
+<td > Broker address<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>vm://localhost?async=true</em>.</td>
+</tr>
+<tr>
+<td > DataSource </td>
+<td > DataSource for persistence messages<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>Default Unmanaged JDBC Database</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultJMSConnectionFactoryresource"></a></p>
+<h2><a name="ContainersandResources-javax.jms.ConnectionFactory"></a>javax.jms.ConnectionFactory</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.ConnectionFactory"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=javax.jms.ConnectionFactory</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > ResourceAdapter </td>
+<td > Default value is <em>Default JMS Resource Adapter</em>.</td>
+</tr>
+<tr>
+<td > TransactionSupport </td>
+<td > Specifies if the connection is enrolled in global transaction<br class="atl-forced-newline"> allowed values: xa, local or none<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>xa</em>.</td>
+</tr>
+<tr>
+<td > PoolMaxSize </td>
+<td > Maximum number of physical connection to the ActiveMQ broker<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>10</em>.</td>
+</tr>
+<tr>
+<td > PoolMinSize </td>
+<td > Minimum number of physical connection to the ActiveMQ broker<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>0</em>.</td>
+</tr>
+<tr>
+<td > ConnectionMaxWaitMilliseconds </td>
+<td > Maximum amount of time to wait for a connection<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>5000</em>.</td>
+</tr>
+<tr>
+<td > ConnectionMaxIdleMinutes </td>
+<td > Maximum amount of time a connection can be idle before being reclaimed<br class="atl-forced-newline"> <br class="atl-forced-newline"> Default value is <em>15</em>.</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultQueueresource"></a></p>
+<h2><a name="ContainersandResources-javax.jms.Queue"></a>javax.jms.Queue</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.Queue"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=javax.jms.Queue</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > destination </td>
+<td > Specifies the name of the queue</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultTopicresource"></a></p>
+<h2><a name="ContainersandResources-javax.jms.Topic"></a>javax.jms.Topic</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.Topic"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=javax.jms.Topic</p>
+</div></div>
+<p>Supports the following properties</p>
+<div class="table-wrap">
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Property Name </th>
+<th > Description </th>
+</tr>
+<tr>
+<td > destination </td>
+<td > Specifies the name of the topic</td>
+</tr>
+</tbody></table>
+</div>
+
+
+<p><a name="ContainersandResources-DefaultORBresource"></a></p>
+<h2><a name="ContainersandResources-org.omg.CORBA.ORB"></a>org.omg.CORBA.ORB</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"org.omg.CORBA.ORB"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=org.omg.CORBA.ORB</p>
+</div></div>
+<p>No properties.</p>
+
+<p><a name="ContainersandResources-DefaultMailSessionresource"></a></p>
+<h2><a name="ContainersandResources-javax.mail.Session"></a>javax.mail.Session</h2>
+<p>Declarable in tomee.xml via</p>
+<div style="border-width: 1px;" class="code panel"><div class="codeContent panelContent">
+<pre class="code-xml"><span class="code-tag">&lt;Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.mail.Session"</span>&gt;</span>
+<span class="code-tag">&lt;/Resource&gt;</span>
+</pre>
+</div></div>
+<p>Declarable in properties via</p>
+<div style="border-width: 1px;" class="panel"><div class="panelContent">
+<p>Foo = new://Resource?type=javax.mail.Session</p>
+</div></div>
+<p>No properties.</p>
+            
\ No newline at end of file