You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/11/12 00:20:41 UTC

svn commit: r1408145 - /openejb/site/trunk/content/

Author: dblevins
Date: Sun Nov 11 23:20:39 2012
New Revision: 1408145

URL: http://svn.apache.org/viewvc?rev=1408145&view=rev
Log:
individual documentation pages generated from the service-jar.xml files

Added:
    openejb/site/trunk/content/activemqresourceadapter-config.mdtext
    openejb/site/trunk/content/bmpentitycontainer-config.mdtext
    openejb/site/trunk/content/cmpentitycontainer-config.mdtext
    openejb/site/trunk/content/datasource-config.mdtext
    openejb/site/trunk/content/initialcontext-config.mdtext
    openejb/site/trunk/content/javamailsession-config.mdtext
    openejb/site/trunk/content/jmsconnectionfactory-config.mdtext
    openejb/site/trunk/content/managedcontainer-config.mdtext
    openejb/site/trunk/content/messagedrivencontainer-config.mdtext
    openejb/site/trunk/content/orb-config.mdtext
    openejb/site/trunk/content/proxyfactory-config.mdtext
    openejb/site/trunk/content/queue-config.mdtext
    openejb/site/trunk/content/securityservice-config.mdtext
    openejb/site/trunk/content/singletoncontainer-config.mdtext
    openejb/site/trunk/content/statefulcontainer-config.mdtext
    openejb/site/trunk/content/statelesscontainer-config.mdtext
    openejb/site/trunk/content/topic-config.mdtext
    openejb/site/trunk/content/transactionmanager-config.mdtext

Added: openejb/site/trunk/content/activemqresourceadapter-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/activemqresourceadapter-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/activemqresourceadapter-config.mdtext (added)
+++ openejb/site/trunk/content/activemqresourceadapter-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,66 @@
+Title: ActiveMQResourceAdapter Configuration
+
+
+A ActiveMQResourceAdapter can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myActiveMQResourceAdapter" type="ActiveMQResourceAdapter">
+        brokerXmlConfig = broker:(tcp://localhost:61616)?useJmx=false
+        dataSource = Default Unmanaged JDBC Database
+        serverUrl = vm://localhost?waitForStart=20000&async=true
+        startupTimeout = 10 seconds
+    </Resource>
+
+Alternatively, a ActiveMQResourceAdapter can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myActiveMQResourceAdapter = new://Resource?type=ActiveMQResourceAdapter
+    myActiveMQResourceAdapter.brokerXmlConfig = broker:(tcp://localhost:61616)?useJmx=false
+    myActiveMQResourceAdapter.dataSource = Default Unmanaged JDBC Database
+    myActiveMQResourceAdapter.serverUrl = vm://localhost?waitForStart=20000&async=true
+    myActiveMQResourceAdapter.startupTimeout = 10 seconds
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared ActiveMQResourceAdapter a warning will be logged.  If a ActiveMQResourceAdapter is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple ActiveMQResourceAdapter declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>brokerXmlConfig</td>
+  <td>String</td>
+  <td>broker:(tcp://localhost:61616)?useJmx=false</td>
+  <td>
+Broker configuration URI as defined by ActiveMQ
+see http://activemq.apache.org/broker-configuration-uri.html
+BrokerXmlConfig xbean:file:conf/activemq.xml - Requires xbean-spring.jar and dependencies
+</td>
+</tr>
+<tr>
+  <td>dataSource</td>
+  <td>String</td>
+  <td>Default&nbsp;Unmanaged&nbsp;JDBC&nbsp;Database</td>
+  <td>
+DataSource for persistence messages
+</td>
+</tr>
+<tr>
+  <td>serverUrl</td>
+  <td>java.net.URI</td>
+  <td>vm://localhost?waitForStart=20000&async=true</td>
+  <td>
+Broker address
+</td>
+</tr>
+<tr>
+  <td>startupTimeout</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>10&nbsp;seconds</td>
+  <td>
+How long to wait for broker startup
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/bmpentitycontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/bmpentitycontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/bmpentitycontainer-config.mdtext (added)
+++ openejb/site/trunk/content/bmpentitycontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,35 @@
+Title: BmpEntityContainer Configuration
+
+
+A BmpEntityContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myBmpEntityContainer" type="BMP_ENTITY">
+        poolSize = 10
+    </Container>
+
+Alternatively, a BmpEntityContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myBmpEntityContainer = new://Container?type=BMP_ENTITY
+    myBmpEntityContainer.poolSize = 10
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared BmpEntityContainer a warning will be logged.  If a BmpEntityContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple BmpEntityContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>poolSize</td>
+  <td>int</td>
+  <td>10</td>
+  <td>
+Specifies the size of the bean pools for this
+bmp entity container.
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/cmpentitycontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/cmpentitycontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/cmpentitycontainer-config.mdtext (added)
+++ openejb/site/trunk/content/cmpentitycontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,34 @@
+Title: CmpEntityContainer Configuration
+
+
+A CmpEntityContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myCmpEntityContainer" type="CMP_ENTITY">
+        cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
+    </Container>
+
+Alternatively, a CmpEntityContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myCmpEntityContainer = new://Container?type=CMP_ENTITY
+    myCmpEntityContainer.cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared CmpEntityContainer a warning will be logged.  If a CmpEntityContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple CmpEntityContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>cmpEngineFactory</td>
+  <td>String</td>
+  <td>org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory</td>
+  <td>
+
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/datasource-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/datasource-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/datasource-config.mdtext (added)
+++ openejb/site/trunk/content/datasource-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,457 @@
+Title: DataSource Configuration
+
+
+A DataSource can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myDataSource" type="javax.sql.DataSource">
+        accessToUnderlyingConnectionAllowed = false
+        connectionProperties = 
+        defaultAutoCommit = true
+        defaultReadOnly = 
+        definition = 
+        ignoreDefaultValues = false
+        initialSize = 0
+        jdbcDriver = org.hsqldb.jdbcDriver
+        jdbcUrl = jdbc:hsqldb:mem:hsqldb
+        jtaManaged = true
+        maxActive = 20
+        maxIdle = 20
+        maxOpenPreparedStatements = 0
+        maxWaitTime = -1 millisecond
+        minEvictableIdleTime = 30 minutes
+        minIdle = 0
+        numTestsPerEvictionRun = 3
+        password = 
+        passwordCipher = PlainText
+        poolPreparedStatements = false
+        serviceId = 
+        testOnBorrow = true
+        testOnReturn = false
+        testWhileIdle = false
+        timeBetweenEvictionRuns = -1 millisecond
+        userName = sa
+        validationQuery = 
+    </Resource>
+
+Alternatively, a DataSource can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myDataSource = new://Resource?type=javax.sql.DataSource
+    myDataSource.accessToUnderlyingConnectionAllowed = false
+    myDataSource.connectionProperties = 
+    myDataSource.defaultAutoCommit = true
+    myDataSource.defaultReadOnly = 
+    myDataSource.definition = 
+    myDataSource.ignoreDefaultValues = false
+    myDataSource.initialSize = 0
+    myDataSource.jdbcDriver = org.hsqldb.jdbcDriver
+    myDataSource.jdbcUrl = jdbc:hsqldb:mem:hsqldb
+    myDataSource.jtaManaged = true
+    myDataSource.maxActive = 20
+    myDataSource.maxIdle = 20
+    myDataSource.maxOpenPreparedStatements = 0
+    myDataSource.maxWaitTime = -1 millisecond
+    myDataSource.minEvictableIdleTime = 30 minutes
+    myDataSource.minIdle = 0
+    myDataSource.numTestsPerEvictionRun = 3
+    myDataSource.password = 
+    myDataSource.passwordCipher = PlainText
+    myDataSource.poolPreparedStatements = false
+    myDataSource.serviceId = 
+    myDataSource.testOnBorrow = true
+    myDataSource.testOnReturn = false
+    myDataSource.testWhileIdle = false
+    myDataSource.timeBetweenEvictionRuns = -1 millisecond
+    myDataSource.userName = sa
+    myDataSource.validationQuery = 
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared DataSource a warning will be logged.  If a DataSource is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple DataSource declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td><a href="#accessToUnderlyingConnectionAllowed">accessToUnderlyingConnectionAllowed</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+If true the raw physical connection to the database can be
+accessed using the following construct:
+</td>
+</tr>
+<tr>
+  <td><a href="#connectionProperties">connectionProperties</a></td>
+  <td>String</td>
+  <td></td>
+  <td>
+The connection properties that will be sent to the JDBC
+driver when establishing new connections
+</td>
+</tr>
+<tr>
+  <td>defaultAutoCommit</td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+The default auto-commit state of new connections
+</td>
+</tr>
+<tr>
+  <td>defaultReadOnly</td>
+  <td>String</td>
+  <td></td>
+  <td>
+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)
+</td>
+</tr>
+<tr>
+  <td>definition</td>
+  <td>String</td>
+  <td></td>
+  <td>
+
+</td>
+</tr>
+<tr>
+  <td>ignoreDefaultValues</td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+use only all set values in this config
+will need a lot of properties but allow to not set some values
+</td>
+</tr>
+<tr>
+  <td><a href="#initialSize">initialSize</a></td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+The default TransactionIsolation state of new connections.
+</td>
+</tr>
+<tr>
+  <td>jdbcDriver</td>
+  <td>String</td>
+  <td>org.hsqldb.jdbcDriver</td>
+  <td>
+Driver class name
+</td>
+</tr>
+<tr>
+  <td>jdbcUrl</td>
+  <td>java.net.URI</td>
+  <td>jdbc:hsqldb:mem:hsqldb</td>
+  <td>
+Url for creating connections
+</td>
+</tr>
+<tr>
+  <td><a href="#jtaManaged">jtaManaged</a></td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+Determines wether or not this data source should be JTA managed
+or user managed.
+</td>
+</tr>
+<tr>
+  <td>maxActive</td>
+  <td>int</td>
+  <td>20</td>
+  <td>
+The maximum number of active connections that can be
+allocated from this pool at the same time, or a negative
+number for no limit.
+</td>
+</tr>
+<tr>
+  <td>maxIdle</td>
+  <td>int</td>
+  <td>20</td>
+  <td>
+The maximum number of connections that can remain idle in
+the pool, without extra ones being released, or a negative
+number for no limit.
+</td>
+</tr>
+<tr>
+  <td><a href="#maxOpenPreparedStatements">maxOpenPreparedStatements</a></td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+The maximum number of open statements that can be allocated
+from the statement pool at the same time, or zero for no
+limit.
+</td>
+</tr>
+<tr>
+  <td>maxWaitTime</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>-1&nbsp;millisecond</td>
+  <td>
+The maximum number of time 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.
+</td>
+</tr>
+<tr>
+  <td>minEvictableIdleTime</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>30&nbsp;minutes</td>
+  <td>
+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).
+</td>
+</tr>
+<tr>
+  <td>minIdle</td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+The minimum number of connections that can remain idle in
+the pool, without extra ones being created, or zero to
+create none.
+</td>
+</tr>
+<tr>
+  <td>numTestsPerEvictionRun</td>
+  <td>int</td>
+  <td>3</td>
+  <td>
+The number of connectionss to examine during each run of the
+idle connection evictor thread (if any).
+</td>
+</tr>
+<tr>
+  <td>password</td>
+  <td>String</td>
+  <td></td>
+  <td>
+Default password
+</td>
+</tr>
+<tr>
+  <td>passwordCipher</td>
+  <td>String</td>
+  <td>PlainText</td>
+  <td>
+
+</td>
+</tr>
+<tr>
+  <td><a href="#poolPreparedStatements">poolPreparedStatements</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+If true, a statement pool is created for each Connection and
+PreparedStatements created by one of the following methods are
+pooled:
+</td>
+</tr>
+<tr>
+  <td>serviceId</td>
+  <td>String</td>
+  <td></td>
+  <td>
+
+</td>
+</tr>
+<tr>
+  <td><a href="#testOnBorrow">testOnBorrow</a></td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+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).
+</td>
+</tr>
+<tr>
+  <td><a href="#testOnReturn">testOnReturn</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td><a href="#testWhileIdle">testWhileIdle</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+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
+</td>
+</tr>
+<tr>
+  <td>timeBetweenEvictionRuns</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>-1&nbsp;millisecond</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td>userName</td>
+  <td>String</td>
+  <td>sa</td>
+  <td>
+Default user name
+</td>
+</tr>
+<tr>
+  <td>validationQuery</td>
+  <td>String</td>
+  <td></td>
+  <td>
+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.
+</td>
+</tr>
+</table>
+
+
+
+<a name="accessToUnderlyingConnectionAllowed"></a>
+## 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.
+
+
+<a name="connectionProperties"></a>
+## 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.
+
+
+<a name="initialSize"></a>
+## initialSize
+
+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
+DefaultTransactionIsolation
+The initial number of connections that are created when the
+pool is started
+
+
+<a name="jtaManaged"></a>
+## 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'
+
+
+<a name="maxOpenPreparedStatements"></a>
+## 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.
+
+
+<a name="poolPreparedStatements"></a>
+## 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)
+
+
+<a name="testOnBorrow"></a>
+## 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.
+
+
+<a name="testOnReturn"></a>
+## 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.
+
+
+<a name="testWhileIdle"></a>
+## 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.
+

Added: openejb/site/trunk/content/initialcontext-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/initialcontext-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/initialcontext-config.mdtext (added)
+++ openejb/site/trunk/content/initialcontext-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,24 @@
+Title: InitialContext Configuration
+
+
+A InitialContext can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <JndiProvider id="myInitialContext" type="javax.naming.InitialContext">
+    </JndiProvider>
+
+Alternatively, a InitialContext can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myInitialContext = new://JndiProvider?type=javax.naming.InitialContext
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared InitialContext a warning will be logged.  If a InitialContext is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple InitialContext declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/javamailsession-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/javamailsession-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/javamailsession-config.mdtext (added)
+++ openejb/site/trunk/content/javamailsession-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,24 @@
+Title: JavaMailSession Configuration
+
+
+A JavaMailSession can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myJavaMailSession" type="javax.mail.Session">
+    </Resource>
+
+Alternatively, a JavaMailSession can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myJavaMailSession = new://Resource?type=javax.mail.Session
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared JavaMailSession a warning will be logged.  If a JavaMailSession is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple JavaMailSession declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/jmsconnectionfactory-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/jmsconnectionfactory-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/jmsconnectionfactory-config.mdtext (added)
+++ openejb/site/trunk/content/jmsconnectionfactory-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,85 @@
+Title: JmsConnectionFactory Configuration
+
+
+A JmsConnectionFactory can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myJmsConnectionFactory" type="javax.jms.ConnectionFactory">
+        connectionMaxIdleTime = 15 Minutes
+        connectionMaxWaitTime = 5 seconds
+        poolMaxSize = 10
+        poolMinSize = 0
+        resourceAdapter = Default JMS Resource Adapter
+        transactionSupport = xa
+    </Resource>
+
+Alternatively, a JmsConnectionFactory can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myJmsConnectionFactory = new://Resource?type=javax.jms.ConnectionFactory
+    myJmsConnectionFactory.connectionMaxIdleTime = 15 Minutes
+    myJmsConnectionFactory.connectionMaxWaitTime = 5 seconds
+    myJmsConnectionFactory.poolMaxSize = 10
+    myJmsConnectionFactory.poolMinSize = 0
+    myJmsConnectionFactory.resourceAdapter = Default JMS Resource Adapter
+    myJmsConnectionFactory.transactionSupport = xa
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared JmsConnectionFactory a warning will be logged.  If a JmsConnectionFactory is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple JmsConnectionFactory declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>connectionMaxIdleTime</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>15&nbsp;Minutes</td>
+  <td>
+Maximum amount of time a connection can be idle before being reclaimed
+</td>
+</tr>
+<tr>
+  <td>connectionMaxWaitTime</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>5&nbsp;seconds</td>
+  <td>
+Maximum amount of time to wait for a connection
+</td>
+</tr>
+<tr>
+  <td>poolMaxSize</td>
+  <td>int</td>
+  <td>10</td>
+  <td>
+Maximum number of physical connection to the ActiveMQ broker
+</td>
+</tr>
+<tr>
+  <td>poolMinSize</td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+Minimum number of physical connection to the ActiveMQ broker
+</td>
+</tr>
+<tr>
+  <td>resourceAdapter</td>
+  <td>String</td>
+  <td>Default&nbsp;JMS&nbsp;Resource&nbsp;Adapter</td>
+  <td>
+
+</td>
+</tr>
+<tr>
+  <td>transactionSupport</td>
+  <td>String</td>
+  <td>xa</td>
+  <td>
+Specifies if the connection is enrolled in global transaction
+allowed values: xa, local or none
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/managedcontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/managedcontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/managedcontainer-config.mdtext (added)
+++ openejb/site/trunk/content/managedcontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,24 @@
+Title: ManagedContainer Configuration
+
+
+A ManagedContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myManagedContainer" type="MANAGED">
+    </Container>
+
+Alternatively, a ManagedContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myManagedContainer = new://Container?type=MANAGED
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared ManagedContainer a warning will be logged.  If a ManagedContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple ManagedContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/messagedrivencontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/messagedrivencontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/messagedrivencontainer-config.mdtext (added)
+++ openejb/site/trunk/content/messagedrivencontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,65 @@
+Title: MessageDrivenContainer Configuration
+
+
+A MessageDrivenContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myMessageDrivenContainer" type="MESSAGE">
+        activationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec
+        instanceLimit = 10
+        messageListenerInterface = javax.jms.MessageListener
+        resourceAdapter = Default JMS Resource Adapter
+    </Container>
+
+Alternatively, a MessageDrivenContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myMessageDrivenContainer = new://Container?type=MESSAGE
+    myMessageDrivenContainer.activationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec
+    myMessageDrivenContainer.instanceLimit = 10
+    myMessageDrivenContainer.messageListenerInterface = javax.jms.MessageListener
+    myMessageDrivenContainer.resourceAdapter = Default JMS Resource Adapter
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared MessageDrivenContainer a warning will be logged.  If a MessageDrivenContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple MessageDrivenContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>activationSpecClass</td>
+  <td>String</td>
+  <td>org.apache.activemq.ra.ActiveMQActivationSpec</td>
+  <td>
+Specifies the activation spec class
+</td>
+</tr>
+<tr>
+  <td>instanceLimit</td>
+  <td>int</td>
+  <td>10</td>
+  <td>
+Specifies the maximum number of bean instances that are
+allowed to exist for each MDB deployment.
+</td>
+</tr>
+<tr>
+  <td>messageListenerInterface</td>
+  <td>String</td>
+  <td>javax.jms.MessageListener</td>
+  <td>
+Specifies the message listener interface handled by this container
+</td>
+</tr>
+<tr>
+  <td>resourceAdapter</td>
+  <td>String</td>
+  <td>Default&nbsp;JMS&nbsp;Resource&nbsp;Adapter</td>
+  <td>
+The resource adapter delivers messages to the container
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/orb-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/orb-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/orb-config.mdtext (added)
+++ openejb/site/trunk/content/orb-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,24 @@
+Title: ORB Configuration
+
+
+A ORB can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myORB" type="org.omg.CORBA.ORB">
+    </Resource>
+
+Alternatively, a ORB can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myORB = new://Resource?type=org.omg.CORBA.ORB
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared ORB a warning will be logged.  If a ORB is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple ORB declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/proxyfactory-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/proxyfactory-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/proxyfactory-config.mdtext (added)
+++ openejb/site/trunk/content/proxyfactory-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,24 @@
+Title: ProxyFactory Configuration
+
+
+A ProxyFactory can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <ProxyFactory id="myProxyFactory" type="ProxyFactory">
+    </ProxyFactory>
+
+Alternatively, a ProxyFactory can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myProxyFactory = new://ProxyFactory?type=ProxyFactory
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared ProxyFactory a warning will be logged.  If a ProxyFactory is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple ProxyFactory declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/queue-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/queue-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/queue-config.mdtext (added)
+++ openejb/site/trunk/content/queue-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,34 @@
+Title: Queue Configuration
+
+
+A Queue can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myQueue" type="javax.jms.Queue">
+        destination = 
+    </Resource>
+
+Alternatively, a Queue can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myQueue = new://Resource?type=javax.jms.Queue
+    myQueue.destination = 
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared Queue a warning will be logged.  If a Queue is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple Queue declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>destination</td>
+  <td>String</td>
+  <td></td>
+  <td>
+Specifies the name of the queue
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/securityservice-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/securityservice-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/securityservice-config.mdtext (added)
+++ openejb/site/trunk/content/securityservice-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,34 @@
+Title: SecurityService Configuration
+
+
+A SecurityService can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <SecurityService id="mySecurityService" type="SecurityService">
+        defaultUser = guest         
+    </SecurityService>
+
+Alternatively, a SecurityService can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    mySecurityService = new://SecurityService?type=SecurityService
+    mySecurityService.defaultUser = guest         
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared SecurityService a warning will be logged.  If a SecurityService is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple SecurityService declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>defaultUser</td>
+  <td>String</td>
+  <td>guest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
+  <td>
+
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/singletoncontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/singletoncontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/singletoncontainer-config.mdtext (added)
+++ openejb/site/trunk/content/singletoncontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,53 @@
+Title: SingletonContainer Configuration
+
+
+A SingletonContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="mySingletonContainer" type="SINGLETON">
+        accessTimeout = 30 seconds
+    </Container>
+
+Alternatively, a SingletonContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    mySingletonContainer = new://Container?type=SINGLETON
+    mySingletonContainer.accessTimeout = 30 seconds
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared SingletonContainer a warning will be logged.  If a SingletonContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple SingletonContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td><a href="#accessTimeout">accessTimeout</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>30&nbsp;seconds</td>
+  <td>
+Specifies the maximum time an invocation could wait for the
+`@Singleton` bean instance to become available before giving up.
+</td>
+</tr>
+</table>
+
+
+
+<a name="accessTimeout"></a>
+## 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.
+

Added: openejb/site/trunk/content/statefulcontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/statefulcontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/statefulcontainer-config.mdtext (added)
+++ openejb/site/trunk/content/statefulcontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,157 @@
+Title: StatefulContainer Configuration
+
+
+A StatefulContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myStatefulContainer" type="STATEFUL">
+        accessTimeout = 30 seconds
+        bulkPassivate = 100
+        cache = org.apache.openejb.core.stateful.SimpleCache
+        capacity = 1000
+        frequency = 60
+        passivator = org.apache.openejb.core.stateful.SimplePassivater
+        timeOut = 20
+    </Container>
+
+Alternatively, a StatefulContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myStatefulContainer = new://Container?type=STATEFUL
+    myStatefulContainer.accessTimeout = 30 seconds
+    myStatefulContainer.bulkPassivate = 100
+    myStatefulContainer.cache = org.apache.openejb.core.stateful.SimpleCache
+    myStatefulContainer.capacity = 1000
+    myStatefulContainer.frequency = 60
+    myStatefulContainer.passivator = org.apache.openejb.core.stateful.SimplePassivater
+    myStatefulContainer.timeOut = 20
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared StatefulContainer a warning will be logged.  If a StatefulContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple StatefulContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td><a href="#accessTimeout">accessTimeout</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>30&nbsp;seconds</td>
+  <td>
+Specifies the maximum time an invocation could wait for the
+`@Stateful` bean instance to become available before giving up.
+</td>
+</tr>
+<tr>
+  <td>bulkPassivate</td>
+  <td>int</td>
+  <td>100</td>
+  <td>
+Property name that specifies the number of instances
+to passivate at one time when doing bulk passivation.
+</td>
+</tr>
+<tr>
+  <td>cache</td>
+  <td>String</td>
+  <td>org.apache.openejb.core.stateful.SimpleCache</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td>capacity</td>
+  <td>int</td>
+  <td>1000</td>
+  <td>
+Specifies the size of the bean pools for this
+stateful SessionBean container.
+</td>
+</tr>
+<tr>
+  <td>frequency</td>
+  <td>int</td>
+  <td>60</td>
+  <td>
+Specifies the frequency (in seconds) at which the bean cache is checked for 
+idle beans.
+</td>
+</tr>
+<tr>
+  <td><a href="#passivator">passivator</a></td>
+  <td>String</td>
+  <td>org.apache.openejb.core.stateful.SimplePassivater</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td><a href="#timeOut">timeOut</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>20</td>
+  <td>
+Specifies the time a bean can be idle before it is removed by the container.
+</td>
+</tr>
+</table>
+
+
+
+<a name="accessTimeout"></a>
+## 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.
+
+
+<a name="passivator"></a>
+## 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
+
+
+<a name="timeOut"></a>
+## 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.
+

Added: openejb/site/trunk/content/statelesscontainer-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/statelesscontainer-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/statelesscontainer-config.mdtext (added)
+++ openejb/site/trunk/content/statelesscontainer-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,458 @@
+Title: StatelessContainer Configuration
+
+
+A StatelessContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Container id="myStatelessContainer" type="STATELESS">
+        accessTimeout = 30 seconds
+        callbackThreads = 5
+        closeTimeout = 5 minutes
+        garbageCollection = false
+        idleTimeout = 0 minutes
+        maxAge = 0 hours
+        maxAgeOffset = -1
+        maxSize = 10
+        minSize = 0
+        replaceAged = true
+        replaceFlushed = false
+        strictPooling = true
+        sweepInterval = 5 minutes
+    </Container>
+
+Alternatively, a StatelessContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myStatelessContainer = new://Container?type=STATELESS
+    myStatelessContainer.accessTimeout = 30 seconds
+    myStatelessContainer.callbackThreads = 5
+    myStatelessContainer.closeTimeout = 5 minutes
+    myStatelessContainer.garbageCollection = false
+    myStatelessContainer.idleTimeout = 0 minutes
+    myStatelessContainer.maxAge = 0 hours
+    myStatelessContainer.maxAgeOffset = -1
+    myStatelessContainer.maxSize = 10
+    myStatelessContainer.minSize = 0
+    myStatelessContainer.replaceAged = true
+    myStatelessContainer.replaceFlushed = false
+    myStatelessContainer.strictPooling = true
+    myStatelessContainer.sweepInterval = 5 minutes
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared StatelessContainer a warning will be logged.  If a StatelessContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple StatelessContainer declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td><a href="#accessTimeout">accessTimeout</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>30&nbsp;seconds</td>
+  <td>
+Specifies the time an invokation should wait for an instance
+of the pool to become available.
+</td>
+</tr>
+<tr>
+  <td><a href="#callbackThreads">callbackThreads</a></td>
+  <td>int</td>
+  <td>5</td>
+  <td>
+The number of threads for constructing and destroying beans.
+</td>
+</tr>
+<tr>
+  <td><a href="#closeTimeout">closeTimeout</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>5&nbsp;minutes</td>
+  <td>
+Maximum time to wait for instances to be destroyed when shutting down the pool
+</td>
+</tr>
+<tr>
+  <td><a href="#garbageCollection">garbageCollection</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+Allows Garbage Collection to be used as a mechanism for shrinking
+the pool.
+</td>
+</tr>
+<tr>
+  <td><a href="#idleTimeout">idleTimeout</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>0&nbsp;minutes</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td><a href="#maxAge">maxAge</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>0&nbsp;hours</td>
+  <td>
+Specifies the maximum time that an instance should live before
+it should be retired and removed from use.
+</td>
+</tr>
+<tr>
+  <td><a href="#maxAgeOffset">maxAgeOffset</a></td>
+  <td>int</td>
+  <td>-1</td>
+  <td>
+Applies to MaxAge usage and would rarely be changed, but is a
+nice feature to understand.
+</td>
+</tr>
+<tr>
+  <td><a href="#maxSize">maxSize</a></td>
+  <td>int</td>
+  <td>10</td>
+  <td>
+Specifies the size of the instance pool for this stateless
+SessionBean container.
+</td>
+</tr>
+<tr>
+  <td><a href="#minSize">minSize</a></td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+Specifies the minimum number of bean instances that should be in
+the pool for each bean.
+</td>
+</tr>
+<tr>
+  <td><a href="#replaceAged">replaceAged</a></td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td><a href="#replaceFlushed">replaceFlushed</a></td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+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.
+</td>
+</tr>
+<tr>
+  <td><a href="#strictPooling">strictPooling</a></td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+StrictPooling tells the container what to do when the pool
+reaches it's maximum size and there are incoming requests that
+need instances.
+</td>
+</tr>
+<tr>
+  <td><a href="#sweepInterval">sweepInterval</a></td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>5&nbsp;minutes</td>
+  <td>
+The frequency in which the container will sweep the pool and
+evict expired instances.
+</td>
+</tr>
+</table>
+
+
+
+<a name="accessTimeout"></a>
+## 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.
+
+
+<a name="callbackThreads"></a>
+## callbackThreads
+
+The number of threads for constructing and destroying beans.
+
+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.
+
+
+<a name="closeTimeout"></a>
+## closeTimeout
+
+Maximum time to wait for instances to be destroyed when shutting down the pool
+
+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`
+
+
+<a name="garbageCollection"></a>
+## 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`.
+
+
+<a name="idleTimeout"></a>
+## 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.
+
+Only instances
+in surplus of the pool's `MinSize` are eligible to expire via `IdleTimeout`
+Instances that expire due to `IdleTimeout` will have their `@PreDestroy`
+methods invoked before being completely destroyed.
+
+Usable time units: nanoseconds, microsecons, milliseconds,
+seconds, minutes, hours, days.  Or any combination such as
+"1 hour and 27 minutes and 10 seconds"
+
+
+<a name="maxAge"></a>
+## 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`
+
+
+<a name="maxAgeOffset"></a>
+## 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.
+
+
+<a name="maxSize"></a>
+## maxSize
+
+Specifies the size of the instance pool for this stateless
+SessionBean container.
+
+Each `@Stateless` bean will get its own instance pool.
+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 expire.
+
+
+<a name="minSize"></a>
+## 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
+`@DependsOn` annotation can be used to appropriately influence
+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`.
+
+
+<a name="replaceAged"></a>
+## 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.
+
+
+<a name="replaceFlushed"></a>
+## 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();
+        }
+    }
+
+
+<a name="strictPooling"></a>
+## 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.
+
+
+<a name="sweepInterval"></a>
+## 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`
+

Added: openejb/site/trunk/content/topic-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/topic-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/topic-config.mdtext (added)
+++ openejb/site/trunk/content/topic-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,34 @@
+Title: Topic Configuration
+
+
+A Topic can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <Resource id="myTopic" type="javax.jms.Topic">
+        destination = 
+    </Resource>
+
+Alternatively, a Topic can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myTopic = new://Resource?type=javax.jms.Topic
+    myTopic.destination = 
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared Topic a warning will be logged.  If a Topic is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple Topic declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>destination</td>
+  <td>String</td>
+  <td></td>
+  <td>
+Specifies the name of the topic
+</td>
+</tr>
+</table>
+
+

Added: openejb/site/trunk/content/transactionmanager-config.mdtext
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/transactionmanager-config.mdtext?rev=1408145&view=auto
==============================================================================
--- openejb/site/trunk/content/transactionmanager-config.mdtext (added)
+++ openejb/site/trunk/content/transactionmanager-config.mdtext Sun Nov 11 23:20:39 2012
@@ -0,0 +1,164 @@
+Title: TransactionManager Configuration
+
+
+A TransactionManager can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following.  All properties in the element body are optional.
+
+    <TransactionManager id="myTransactionManager" type="TransactionManager">
+        adler32Checksum = true
+        bufferSizeKb = 32
+        checksumEnabled = true
+        defaultTransactionTimeout = 10 minutes
+        flushSleepTime = 50 Milliseconds
+        logFileDir = txlog
+        logFileExt = log
+        logFileName = howl
+        maxBlocksPerFile = -1
+        maxBuffers = 0
+        maxLogFiles = 2
+        minBuffers = 4
+        threadsWaitingForceThreshold = -1
+        txRecovery = false
+    </TransactionManager>
+
+Alternatively, a TransactionManager can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties.  The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext`
+
+    myTransactionManager = new://TransactionManager?type=TransactionManager
+    myTransactionManager.adler32Checksum = true
+    myTransactionManager.bufferSizeKb = 32
+    myTransactionManager.checksumEnabled = true
+    myTransactionManager.defaultTransactionTimeout = 10 minutes
+    myTransactionManager.flushSleepTime = 50 Milliseconds
+    myTransactionManager.logFileDir = txlog
+    myTransactionManager.logFileExt = log
+    myTransactionManager.logFileName = howl
+    myTransactionManager.maxBlocksPerFile = -1
+    myTransactionManager.maxBuffers = 0
+    myTransactionManager.maxLogFiles = 2
+    myTransactionManager.minBuffers = 4
+    myTransactionManager.threadsWaitingForceThreshold = -1
+    myTransactionManager.txRecovery = false
+
+Properties and xml can be mixed.  Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution.  Properties are not case sensitive.  If a property is specified that is not supported by the declared TransactionManager a warning will be logged.  If a TransactionManager is needed by the application and one is not declared, TomEE will create one dynamically using default settings.  Multiple TransactionManager declarations are allowed.
+# Supported Properties
+<table>
+<tr>
+<th>Property</th>
+<th>Type</th>
+<th>Default</th>
+<th>Description</th>
+</tr>
+<tr>
+  <td>adler32Checksum</td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>bufferSizeKb</td>
+  <td>int</td>
+  <td>32</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>checksumEnabled</td>
+  <td>boolean</td>
+  <td>true</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>defaultTransactionTimeout</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>10&nbsp;minutes</td>
+  <td>
+
+</td>
+</tr>
+<tr>
+  <td>flushSleepTime</td>
+  <td><a href="configuring-durations.html">time</a></td>
+  <td>50&nbsp;Milliseconds</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>logFileDir</td>
+  <td>String</td>
+  <td>txlog</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>logFileExt</td>
+  <td>String</td>
+  <td>log</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>logFileName</td>
+  <td>String</td>
+  <td>howl</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>maxBlocksPerFile</td>
+  <td>int</td>
+  <td>-1</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>maxBuffers</td>
+  <td>int</td>
+  <td>0</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>maxLogFiles</td>
+  <td>int</td>
+  <td>2</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>minBuffers</td>
+  <td>int</td>
+  <td>4</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>threadsWaitingForceThreshold</td>
+  <td>int</td>
+  <td>-1</td>
+  <td>
+Requires TxRecovery
+</td>
+</tr>
+<tr>
+  <td>txRecovery</td>
+  <td>boolean</td>
+  <td>false</td>
+  <td>
+When set to true, Howl logging is enabled
+</td>
+</tr>
+</table>
+
+