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"><Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"CMP_ENTITY"</span>></span>
+<span class="code-tag"></Container></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"><Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"BMP_ENTITY"</span>></span>
+<span class="code-tag"></Container></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"><Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"STATELESS"</span>></span>
+<span class="code-tag"></Container></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"><Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"STATEFUL"</span>></span>
+<span class="code-tag"></Container></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"><Container id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"MESSAGE"</span>></span>
+<span class="code-tag"></Container></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.sql.DataSource"</span>></span>
+<span class="code-tag"></Resource></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. If set to 'true' it will automatically be enrolled<br class="atl-forced-newline"> in any ongoing transactions. Calling begin/commit/rollback or setAutoCommit<br class="atl-forced-newline"> on the datasource or connection will not be allowed. 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"> NONE<br class="atl-forced-newline"> READ_COMMITTED<br class="atl-forced-newline"> READ_UNCOMMITTED<br class="atl-forced-newline"> REPEATABLE_READ<br class="atl-forced-newline"> 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. 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"> public PreparedStatement prepareStatement(String sql);<br class="atl-forced-newline"> public PreparedStatement prepareStatement(String sql,<br class="atl-forced-newline"> int resultSetType,<br class="atl-forced-newline"> 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"> Connection conn = ds.getConnection();<br class="atl-forced-newline"> Connection rawConn = ((DelegatingConnection) conn).getInnermostDelegate();<br class="atl-forced-newline"> ...<br class="atl-forced-newline"> 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. 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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"ActiveMQResourceAdapter"</span>></span>
+<span class="code-tag"></Resource></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.ConnectionFactory"</span>></span>
+<span class="code-tag"></Resource></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.Queue"</span>></span>
+<span class="code-tag"></Resource></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.jms.Topic"</span>></span>
+<span class="code-tag"></Resource></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"org.omg.CORBA.ORB"</span>></span>
+<span class="code-tag"></Resource></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"><Resource id=<span class="code-quote">"Foo"</span> type=<span class="code-quote">"javax.mail.Session"</span>></span>
+<span class="code-tag"></Resource></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