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 2018/12/02 02:20:55 UTC

[28/30] tomee git commit: Rename *.mdtext files to *.md

Rename *.mdtext files to *.md


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/b93bd755
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/b93bd755
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/b93bd755

Branch: refs/heads/master
Commit: b93bd755ccea213567e26e16a35a6f8c1bb51727
Parents: c3f8984
Author: dblevins <da...@gmail.com>
Authored: Sat Dec 1 18:15:15 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sat Dec 1 18:15:15 2018 -0800

----------------------------------------------------------------------
 docs/Configuring-in-tomee.md                    |   45 +
 docs/activemqresourceadapter-config.md          |   69 +
 docs/advanced/tomee-embedded/foo.ado            |    0
 docs/alternate-descriptors.md                   |  117 ++
 docs/annotations,-xml-and-defaults.md           |  569 +++++++
 docs/app-clients-and-jndi.md                    |   73 +
 docs/application-deployment-solutions.md        |   78 +
 docs/application-discovery-via-the-classpath.md |   94 ++
 docs/application-resources.md                   |  250 +++
 docs/arquillian-available-adapters.md           |  264 +++
 docs/arquillian-getting-started.md              |   24 +
 docs/basics---getting-things.md                 |  107 ++
 docs/basics---security.md                       |   55 +
 docs/basics---transactions.md                   |   60 +
 docs/bmpentitycontainer-config.md               |   37 +
 docs/bouncy-castle.md                           |   34 +
 docs/built-in-type-converters.md                |   94 ++
 docs/callbacks.md                               |  167 ++
 docs/changing-jms-implementations.md            |  136 ++
 docs/client-server-transports.md                |   22 +
 docs/clients.md                                 |  104 ++
 docs/cmpentitycontainer-config.md               |   36 +
 docs/collapsed-ear.md                           |   46 +
 docs/common-datasource-configurations.md        |  115 ++
 docs/common-errors.md                           |   30 +
 docs/common-persistenceprovider-properties.md   |   47 +
 docs/comparison.md                              |  222 +++
 docs/concepts.md                                |   79 +
 docs/configuration.md                           |  144 ++
 docs/configuring-containers-in-tests.md         |   27 +
 docs/configuring-datasources-in-tests.md        |   60 +
 docs/configuring-datasources.md                 |  170 ++
 docs/configuring-durations.md                   |   67 +
 docs/configuring-javamail.md                    |   41 +
 docs/configuring-logging-in-tests.md            |  118 ++
 docs/configuring-persistenceunits-in-tests.md   |  144 ++
 docs/constructor-injection.md                   |   98 ++
 docs/containers-and-resources.md                |  483 ++++++
 docs/contrib/debug/debug-intellij.md            |  133 ++
 docs/custom-injection.md                        |  193 +++
 docs/datasource-config.md                       |  541 ++++++
 docs/datasource-password-encryption.md          |  128 ++
 docs/deamon/lin-service.md                      |   17 +
 docs/deamon/win-service.md                      |   17 +
 docs/declaring-references.md                    |    6 +
 docs/deploy-tool.md                             |  165 ++
 docs/deploying-in-tomee.md                      |   73 +
 docs/deployment-id.md                           |  231 +++
 docs/deployments.md                             |  135 ++
 docs/details-on-openejb-jar.md                  |  156 ++
 docs/documentation.md                           |  106 ++
 docs/documentation.old.md                       |  102 ++
 docs/dynamic-datasource.md                      |  220 +++
 docs/eclipse-plugin.md                          |   42 +
 docs/ejb-failover.md                            |   89 +
 docs/ejb-local-ref.md                           |   52 +
 docs/ejb-over-ssl.md                            |  100 ++
 docs/ejb-ref.md                                 |   50 +
 docs/ejb-refs.md                                |  178 ++
 docs/ejb-request-logging.md                     |   98 ++
 docs/ejbd-transport.md                          |  136 ++
 docs/embedded-and-remotable.md                  |  181 ++
 docs/embedded-configuration.md                  |  135 ++
 docs/embedding.md                               |   30 +
 docs/failover-logging.md                        |   42 +
 docs/faq.md                                     |   99 ++
 docs/features.md                                |    6 +
 docs/from-glassfish-to-tomee.md                 |    7 +
 ...-testing-with-openejb,-jetty-and-selenium.md |  240 +++
 docs/generating-ejb-3-annotations.md            |   61 +
 docs/getting-started.md                         |  172 ++
 docs/hello-world.md                             |  250 +++
 docs/hibernate.md                               |   98 ++
 docs/index.adoc                                 |  224 +++
 docs/initialcontext-config.md                   |   26 +
 docs/installation-drop-in-war.md                |   45 +
 docs/installation.md                            |   34 +
 docs/installing-tomee.md                        |   71 +
 docs/java7.md                                   |   40 +
 docs/javaagent-with-maven-surefire.md           |   57 +
 docs/javaagent.md                               |   61 +
 docs/javaee7-status.md                          |  185 +++
 docs/javamailsession-config.md                  |   26 +
 docs/jms-resources-and-mdb-container.md         |  283 ++++
 docs/jmsconnectionfactory-config.md             |   87 +
 docs/jndi-names.md                              |  372 +++++
 docs/jpa-concepts.md                            |  220 +++
 docs/jpa-usage.md                               |   52 +
 docs/local-client-injection.md                  |   87 +
 docs/local-server.md                            |   61 +
 docs/lookup-of-other-ejbs-example.md            |  149 ++
 docs/managedcontainer-config.md                 |   26 +
 docs/manual-installation.md                     |  224 +++
 docs/maven.md                                   |   42 +
 docs/maven/build-mojo.md                        | 1426 ++++++++++++++++
 docs/maven/configtest-mojo.md                   | 1328 +++++++++++++++
 docs/maven/debug-mojo.md                        | 1395 ++++++++++++++++
 docs/maven/deploy-mojo.md                       |  255 +++
 docs/maven/exec-mojo.md                         | 1551 ++++++++++++++++++
 docs/maven/help-mojo.md                         |  149 ++
 docs/maven/index.md                             |  148 ++
 docs/maven/list-mojo.md                         |  169 ++
 docs/maven/run-mojo.md                          | 1395 ++++++++++++++++
 docs/maven/start-mojo.md                        | 1395 ++++++++++++++++
 docs/maven/stop-mojo.md                         | 1328 +++++++++++++++
 docs/maven/undeploy-mojo.md                     |  209 +++
 docs/messagedrivencontainer-config.md           |   67 +
 docs/multicast-discovery.md                     |   83 +
 docs/multiple-business-interface-hazzards.md    |  202 +++
 docs/multipoint-considerations.md               |   30 +
 docs/multipoint-discovery.md                    |   75 +
 docs/multipoint-recommendations.md              |  141 ++
 docs/multipulse-discovery.md                    |   94 ++
 docs/new-in-openejb-3.0.md                      |  179 ++
 docs/openejb-3.md                               |   72 +
 docs/openejb-binaries.md                        |   27 +
 docs/openejb-eclipse-plugin.md                  |   22 +
 docs/openejb-jsr-107-integration.md             |   25 +
 docs/openejb.xml.md                             |   96 ++
 docs/openjpa.md                                 |  113 ++
 docs/orb-config.md                              |   26 +
 docs/persistence-context.md                     |   57 +
 docs/persistence-unit-ref.md                    |   91 +
 docs/properties-listing.md                      |   94 ++
 docs/properties-tool.md                         |  216 +++
 docs/property-overriding.md                     |   65 +
 docs/provisioning.md                            |   78 +
 docs/proxyfactory-config.md                     |   26 +
 docs/queue-config.md                            |   36 +
 docs/quickstart.md                              |   71 +
 docs/remote-server.md                           |   64 +
 docs/resource-injection.md                      |  184 +++
 docs/resource-ref-for-datasource.md             |   46 +
 docs/running-a-standalone-openejb-server.md     |   95 ++
 docs/securing-a-web-service.md                  |  242 +++
 docs/security-annotations.md                    |  296 ++++
 docs/security.md                                |  148 ++
 docs/securityservice-config.md                  |   36 +
 docs/service-locator.md                         |  171 ++
 docs/services.md                                |   20 +
 docs/singleton-beans.md                         |  226 +++
 docs/singleton-ejb.md                           |    6 +
 docs/singletoncontainer-config.md               |   56 +
 docs/spring-and-openejb-3.0.md                  |  190 +++
 docs/spring-ejb-and-jpa.md                      |  173 ++
 docs/spring.md                                  |  124 ++
 docs/ssh.md                                     |   51 +
 docs/standalone-server.md                       |   27 +
 docs/startup.md                                 |  296 ++++
 docs/statefulcontainer-config.md                |  160 ++
 docs/statelesscontainer-config.md               |  461 ++++++
 docs/system-properties-files.md                 |   22 +
 docs/system-properties.md                       |   68 +
 docs/telnet-console.md                          |  166 ++
 docs/tip-concurrency.md                         |   26 +
 docs/tip-jersey-client.md                       |   22 +
 docs/tip-weblogic.md                            |   17 +
 docs/tomcat-object-factory.md                   |   15 +
 docs/tomee-and-eclipse.md                       |  145 ++
 docs/tomee-and-hibernate.md                     |  163 ++
 docs/tomee-and-intellij.md                      |   81 +
 docs/tomee-and-netbeans.md                      |   97 ++
 docs/tomee-and-security.md                      |   45 +
 docs/tomee-and-webspheremq.md                   |  136 ++
 docs/tomee-directory-structure.md               |   61 +
 docs/tomee-embedded-maven-plugin.md             |  959 +++++++++++
 docs/tomee-jaas.md                              |   73 +
 docs/tomee-logging-in-eclipse.md                |   13 +
 docs/tomee-logging.md                           |   33 +
 docs/tomee-maven-plugin.md                      |  148 ++
 docs/tomee-mp-getting-started.md                |   65 +
 docs/tomee-version-policies.md                  |   28 +
 docs/tomee-webaccess.md                         |   21 +
 docs/tomee-webapp.md                            |   62 +
 docs/topic-config.md                            |   36 +
 docs/transaction-annotations.md                 |  219 +++
 docs/transactionmanager-config.md               |  166 ++
 docs/understanding-callbacks.md                 |   92 ++
 docs/understanding-the-directory-layout.md      |   72 +
 docs/unix-daemon.md                             |  108 ++
 docs/validation-tool.md                         |  141 ++
 docs/version-checker.md                         |   12 +
 182 files changed, 30105 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/Configuring-in-tomee.md
----------------------------------------------------------------------
diff --git a/docs/Configuring-in-tomee.md b/docs/Configuring-in-tomee.md
new file mode 100644
index 0000000..44736a7
--- /dev/null
+++ b/docs/Configuring-in-tomee.md
@@ -0,0 +1,45 @@
+index-group=Unrevised
+type=page
+status=published
+title=Apache TomEE configuration
+~~~~~~
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
+
+###Configuring Resources:
+    
+*    Drivers are dropped into tomeeDir/lib
+*    Resources are configured in tomeeDir/conf/tomee.xml.    
+*    The configurations take a very simple (XML+Property-file) syntax.
+*    Tag names match annotation names
+
+For example,
+
+    @Resource DataSource moviesDatabase 
+
+is injected with the following resource:
+
+
+    <Resource id="moviesDatabase" type="DataSource">    
+    JdbcDriver org.hsqldb.jdbcDriver    
+    JdbcUrl jdbc:mysql:localhost:3306/moviesdb    
+    UserName sa    
+    Password secret    
+    JtaManaged true    
+    </Resource>
+
+For more on how to configure, read through [configuring-datasources](/configuring-datasources.html), [containers-and-resources](containers-and-resources.html) docs.

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/activemqresourceadapter-config.md
----------------------------------------------------------------------
diff --git a/docs/activemqresourceadapter-config.md b/docs/activemqresourceadapter-config.md
new file mode 100644
index 0000000..74a56fa
--- /dev/null
+++ b/docs/activemqresourceadapter-config.md
@@ -0,0 +1,69 @@
+index-group=Unrevised
+type=page
+status=published
+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 class="mdtable">
+<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>

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/advanced/tomee-embedded/foo.ado
----------------------------------------------------------------------
diff --git a/docs/advanced/tomee-embedded/foo.ado b/docs/advanced/tomee-embedded/foo.ado
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/alternate-descriptors.md
----------------------------------------------------------------------
diff --git a/docs/alternate-descriptors.md b/docs/alternate-descriptors.md
new file mode 100644
index 0000000..6e2b636
--- /dev/null
+++ b/docs/alternate-descriptors.md
@@ -0,0 +1,117 @@
+index-group=Unrevised
+type=page
+status=published
+title=Alternate Descriptors
+~~~~~~
+As of OpenEJB 3.1.1, you have the ability to specify an alternate set of
+deployment descriptors to use for a given environment.	This is focused
+mostly on testing where it is often desirable to use a slightly different
+configuration for a set of tests or even a specific test.
+
+# When nothing else does the trick
+
+Note that this approach was added as a catch-all for when one of the
+simpler overriding techniques will not work.  For the common case of
+needing to tweak your persistence.xml, see the [Configuring PersistenceUnits in Tests](configuring-persistenceunits-in-tests.html)
+ page for a simpler approach.
+
+For many reasons it is very inconvenient to have to maintain two sets of
+descriptors, one for production and one for testing.  We aggressively add
+features based on user feedback and questions.	If you are looking for a
+way to solve a problem without duplicating entire descriptors, please let
+us know.  You should never have to go the long way to do something simple.
+
+<a name="AlternateDescriptors-openejb.altdd.prefix"></a>
+# openejb.altdd.prefix
+
+To use this functionality, just set the new "openejb.altdd.prefix" system
+property or `InitialContext` property to something like "_test_", then any
+descriptors in your META-INF/ directory that start with "_test._" will
+override the regular descriptor.  So for example with an app like this:
+
+ - META-INF/ejb-jar.xml
+ - META-INF/*test*.ejb-jar.xml
+ - META-INF/persistence.xml
+ - META-INF/*test*.env-entry.properties
+
+Just initialize your test case like so:
+
+
+     Properties properties = new Properties();
+     properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
+          "org.apache.openejb.client.LocalInitialContextFactory");
+     properties.setProperty("openejb.altdd.prefix", "test");
+    
+     InitialContext initialContext = new InitialContext(properties);
+
+
+The logical result will be the prefixed file replacing the non-prefixed
+file as the active descriptor:
+
+ - META-INF/ejb-jar.xml -> *test*.ejb-jar.xml
+ - META-INF/persistence.xml
+ - META-INF/env-entry.properties -> *test*.env-entry.properties
+
+This will work in any environment in which OpenEJB works (embedded,
+standalone, tomcat, geronimo, etc.).
+
+Note that there does *not* have to be an equivalent non-prefixed version of
+the file.  In the example above, only a "test.env-entry.properties" file
+exists and there is no equivalent plain "env-entry.properties" file.  This
+prefixing works for any deployment descriptor in the META-INF/ directory or
+WEB-INF/ directory.  The prefix does not have to be "test" and could be
+anything you choose.  You can also have as many prefixed files as you need
+and could even go as far as to have one prefix per individual test.
+
+<a name="AlternateDescriptors-Morethanoneprefix"></a>
+# More than one prefix
+
+It is possible to have several prefixes, specified in order of preference,
+so that it is possible to avoid duplicating descriptors that are used in
+more than one "profile".  For example, the "foo" test case uses the same
+"env-entries.properties" file as the "bar" test case, but both have their
+own ejb-jar.xml files:
+
+ - META-INF/ejb-jar.xml
+ - META-INF/test.ejb-jar.xml
+ - META-INF/footest.ejb-jar.xml
+ - META-INF/bartest.ejb-jar.xml
+ - META-INF/persistence.xml
+ - META-INF/test.env-entry.properties
+
+The "foo" test case could set the _openejb.altdd.prefix_ as follows:
+
+
+     //...
+     properties.setProperty("openejb.altdd.prefix", "footest, test");
+    
+     InitialContext initialContext = new InitialContext(properties);
+
+
+Resulting the following logical view of the app:
+
+ - META-INF/ejb-jar.xml -> *footest*.ejb-jar.xml
+ - META-INF/persistence.xml
+ - META-INF/env-entry.properties -> test.env-entry.properties
+
+And the "bar" test case could set the  _openejb.altdd.prefix_ as follows:
+
+
+     //...
+     properties.setProperty("openejb.altdd.prefix", "footest, test");
+    
+     InitialContext initialContext = new InitialContext(properties);
+
+
+Resulting the following logical view of the app:
+
+ - META-INF/ejb-jar.xml -> *bartest*.ejb-jar.xml
+ - META-INF/persistence.xml
+ - META-INF/env-entry.properties -> test.env-entry.properties
+
+In both scenarios the same env-entry.properties file
+(test.env-entry.properties) is shared.
+
+Note that there is a "test.ejb-jar.xml" file that is present, however in
+both cases it is not used as the order of preference in the list is "left
+to right" meaning most preferred first.

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/annotations,-xml-and-defaults.md
----------------------------------------------------------------------
diff --git a/docs/annotations,-xml-and-defaults.md b/docs/annotations,-xml-and-defaults.md
new file mode 100644
index 0000000..bd41890
--- /dev/null
+++ b/docs/annotations,-xml-and-defaults.md
@@ -0,0 +1,569 @@
+index-group=Unrevised
+type=page
+status=published
+title=Annotations, XML and Defaults
+~~~~~~
+
+
+
+<div id="PageContent">
+              <p>The following is a list of all annotations and their attributes, the xml tags that correspond to them (for overriding), and what the default values are when left unspecified.</p>
+
+<div >
+<table class="mdtable"> <tbody>
+<tr>
+<th > Annotation </th>
+<th > xml element(s) </th>
+<th > default value </th>
+</tr>
+<tr>
+<td "> @Stateless </td>
+<td "><ul>
+	<li>&lt;session&gt;</li>
+	<li>&lt;ejb-class&gt;</li>
+	<li>&lt;session-type&gt;Stateless&lt;/session-type&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;ejb-name&gt; </td>
+<td "> The simple name of the bean class. For <em>org.acme.superfun.WidgetBean</em> the ejb-name will be <b>WidgetBean</b> </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>description</li>
+</ul>
+</td>
+<td "> &lt;description&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>mappedName</li>
+</ul>
+</td>
+<td "> &lt;mapped-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @Stateful </td>
+<td "><ul>
+	<li>&lt;session&gt;</li>
+	<li>&lt;ejb-class&gt;</li>
+	<li>&lt;session-type&gt;Stateful&lt;/session-type&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;ejb-name&gt; </td>
+<td "> The simple name of the bean class. For <em>org.acme.superfun.WidgetBean</em> the ejb-name will be <b>WidgetBean</b> </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>description</li>
+</ul>
+</td>
+<td "> &lt;description&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>mappedName</li>
+</ul>
+</td>
+<td "> &lt;mapped-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @MessageDriven </td>
+<td "><ul>
+	<li>&lt;message-driven&gt;</li>
+	<li>&lt;ejb-class&gt;</li>
+	<li>&lt;session-type&gt;Stateful&lt;/session-type&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;ejb-name&gt; </td>
+<td "> The simple name of the bean class. For <em>org.acme.superfun.WidgetBean</em> the ejb-name will be <b>WidgetBean</b> </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>description</li>
+</ul>
+</td>
+<td "> &lt;description&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>mappedName</li>
+</ul>
+</td>
+<td "> &lt;mapped-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>messageListenerInterface</li>
+</ul>
+</td>
+<td "> &lt;messaging-type&gt; </td>
+<td "> The interface the bean class implements.  When relying upon the default is illegal for the bean to implement more than one interface </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>activationConfig[]</li>
+</ul>
+</td>
+<td "> &lt;activation-config&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @ActivationConfigProperty </td>
+<td "> &lt;activation-config-property&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>propertyName</li>
+</ul>
+</td>
+<td "> &lt;activation-config-property-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>propertyValue</li>
+</ul>
+</td>
+<td "> &lt;activation-config-property-value&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @RemoteHome </td>
+<td "><ul>
+	<li>&lt;home&gt;</li>
+	<li>&lt;remote&gt;</li>
+</ul>
+</td>
+<td "> The home is inspected to determine the value of &lt;remote&gt;</td>
+</tr>
+<tr>
+<td "> @LocalHome </td>
+<td "><ul>
+	<li>&lt;local-home&gt;</li>
+	<li>&lt;local&gt;</li>
+</ul>
+</td>
+<td "> The local-home is inspected to determine the value of &lt;local&gt; </td>
+</tr>
+<tr>
+<td "> @TransactionManagement </td>
+<td "> &lt;transaction-type&gt; </td>
+<td "> TransactionManagementType.CONTAINER (xml value "Container") </td>
+</tr>
+<tr>
+<td "> @TransactionAttribute </td>
+<td "><ul>
+	<li>&lt;container-transaction&gt;</li>
+	<li>&lt;transaction-attribute&gt;</li>
+</ul>
+</td>
+<td "> All method default to TransactionAttributeType.REQUIRED (xml value "Required") </td>
+</tr>
+<tr>
+<td "> @RolesAllowed </td>
+<td "><ul>
+	<li>&lt;method-permission&gt;</li>
+	<li>&lt;role-name&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PermitAll </td>
+<td "><ul>
+	<li>&lt;method-permission&gt;</li>
+	<li>&lt;unchecked&gt;</li>
+</ul>
+</td>
+<td "> All methods default to unchecked </td>
+</tr>
+<tr>
+<td "> @DenyAll </td>
+<td "> &lt;exclude-list&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @RunAs </td>
+<td "><ul>
+	<li>&lt;security-identity&gt;</li>
+	<li>&lt;run-as&gt;</li>
+	<li>&lt;role-name&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @DeclareRoles </td>
+<td "> &lt;security-role-ref&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @Interceptors </td>
+<td "><ul>
+	<li>&lt;interceptor&gt;</li>
+	<li>&lt;interceptor-binding&gt;</li>
+	<li>&lt;interceptor-class&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @ExcludeDefaultInterceptors </td>
+<td "><ul>
+	<li>&lt;interceptor-binding&gt;</li>
+	<li>&lt;exclude-default-interceptors&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @ExcludeClassInterceptors </td>
+<td "><ul>
+	<li>&lt;interceptor-binding&gt;</li>
+	<li>&lt;exclude-class-interceptors&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @AroundInvoke </td>
+<td "> &lt;around-invoke&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PostConstruct </td>
+<td "> &lt;post-construct&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PreDestroy </td>
+<td "> &lt;pre-destroy&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PrePassivate </td>
+<td "> &lt;pre-passivate&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PostActivate </td>
+<td "> &lt;post-activate&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @Init </td>
+<td "> &lt;init-method&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @Remove </td>
+<td "> &lt;remove-method&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>retainIfException</li>
+</ul>
+</td>
+<td "> &lt;retain-if-exception&gt; </td>
+<td "> false </td>
+</tr>
+<tr>
+<td "> @Timeout </td>
+<td "> &lt;timeout-method&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @ApplicationException </td>
+<td "><ul>
+	<li>&lt;application-exception&gt;</li>
+	<li>&lt;exception-class&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>rollback</li>
+</ul>
+</td>
+<td "> &lt;rollback&gt; </td>
+<td "> false </td>
+</tr>
+<tr>
+<td "> @EJB </td>
+<td "><ul>
+	<li>&lt;ejb-ref&gt;</li>
+	<li>&lt;ejb-local-ref&gt;</li>
+	<li>&lt;injection-target&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "><ul>
+	<li>&lt;ejb-ref-name&gt;</li>
+</ul>
+</td>
+<td "><ul>
+	<li>on class: illegal to leave undefined</li>
+	<li>on field: {className}/{fieldName} as in <b>org.superbiz.Widget/myEjb</b></li>
+	<li>on setter: {className}/{propertyName} as in setMyEjb() defaults to <b>org.superbiz.Widget/myEjb</b></li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>beanInterface</li>
+</ul>
+</td>
+<td "><ul>
+	<li>&lt;home&gt;</li>
+	<li>&lt;local-home&gt;</li>
+	<li>&lt;remote&gt;</li>
+	<li>&lt;local&gt;</li>
+</ul>
+</td>
+<td "><ul>
+	<li>on class: illegal to leave undefined</li>
+	<li>on field: the data type of the field</li>
+	<li>on setter: the data type of the first method param</li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>beanName</li>
+</ul>
+</td>
+<td "> &lt;ejb-link&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>description</li>
+</ul>
+</td>
+<td "> &lt;description&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>mappedName</li>
+</ul>
+</td>
+<td "> &lt;mapped-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @Resource </td>
+<td "><ul>
+	<li>&lt;env-entry&gt;</li>
+	<li>&lt;resource-ref&gt;</li>
+	<li>&lt;resource-env-ref&gt;</li>
+	<li>&lt;injection-target&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "><ul>
+	<li>&lt;env-entry-name&gt;</li>
+	<li>&lt;res-ref-name&gt;</li>
+	<li>&lt;resource-env-ref-name&gt;</li>
+</ul>
+</td>
+<td "><ul>
+	<li>on class: illegal to leave undefined</li>
+	<li>on field: {className}/{fieldName} as in <b>org.superbiz.Widget/myDataSource</b></li>
+	<li>on setter: {className}/{propertyName} as in setMyDataSource() defaults to <b>org.superbiz.Widget/myDataSource</b></li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>type</li>
+</ul>
+</td>
+<td "><ul>
+	<li>&lt;env-entry-type&gt;</li>
+	<li>&lt;res-type&gt;</li>
+	<li>&lt;resource-env-ref-type&gt;</li>
+</ul>
+</td>
+<td "><ul>
+	<li>on class: illegal to leave undefined</li>
+	<li>on field: the data type of the field</li>
+	<li>on setter: the data type of the first method param</li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>description</li>
+</ul>
+</td>
+<td "> &lt;description&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>mappedName</li>
+</ul>
+</td>
+<td "> &lt;mapped-name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>shareable</li>
+</ul>
+</td>
+<td "> &lt;res-sharing-scope&gt; </td>
+<td "> true (xml value "Shareable") </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>authenticationType</li>
+</ul>
+</td>
+<td "> &lt;res-auth&gt; </td>
+<td "> AuthenticationType.CONTAINER (xml value "Container") </td>
+</tr>
+<tr>
+<td "> @PersistenceUnit </td>
+<td "><ul>
+	<li>&lt;persistence-unit-ref&gt;</li>
+	<li>&lt;injection-target&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;persistence-unit-ref-name&gt; </td>
+<td ">on class: illegal to leave undefined
+<ul>
+	<li>on field: {className}/{fieldName} as in <b>org.superbiz.Widget/myUnit</b></li>
+	<li>on setter: {className}/{propertyName} as in setMyUnit() defaults to <b>org.superbiz.Widget/myUnit</b></li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>unitName</li>
+</ul>
+</td>
+<td "> &lt;persistence-unit-name&gt; </td>
+<td "> vendor specific </td>
+</tr>
+<tr>
+<td "> @PersistenceContext </td>
+<td "><ul>
+	<li>&lt;persistence-context-ref&gt;</li>
+	<li>&lt;injection-target&gt;</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;persistence-context-ref-name&gt; </td>
+<td ">on class: illegal to leave undefined
+<ul>
+	<li>on field: {className}/{fieldName} as in <b>org.superbiz.Widget/myContext</b></li>
+	<li>on setter: {className}/{propertyName} as in setMyContext() defaults to <b>org.superbiz.Widget/myContext</b></li>
+</ul>
+</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>unitName</li>
+</ul>
+</td>
+<td "> &lt;persistence-unit-name&gt; </td>
+<td "> vendor specific </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>type</li>
+</ul>
+</td>
+<td "> &lt;persistence-context-type&gt; </td>
+<td "> PersistenceContextType.TRANSACTION (xml value "Transaction") </td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>properties[]</li>
+</ul>
+</td>
+<td ">&nbsp;</td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "> @PersistenceProperty </td>
+<td "> &lt;persistence-property&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>name</li>
+</ul>
+</td>
+<td "> &lt;name&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+<tr>
+<td "><ul type="square" class="alternate">
+	<li>value</li>
+</ul>
+</td>
+<td "> &lt;value&gt; </td>
+<td ">&nbsp;</td>
+</tr>
+</tbody></table>
+</div>
+
+            </div>

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/app-clients-and-jndi.md
----------------------------------------------------------------------
diff --git a/docs/app-clients-and-jndi.md b/docs/app-clients-and-jndi.md
new file mode 100644
index 0000000..b6faaaa
--- /dev/null
+++ b/docs/app-clients-and-jndi.md
@@ -0,0 +1,73 @@
+index-group=Unrevised
+type=page
+status=published
+title=App Clients and JNDI
+~~~~~~
+There are some slight differences between the way OpenEJB does app clients
+and the way Geronimo does app clients
+
+
+Neither uses the names created via the openejb.jndiname.format. &nbsp;So
+changing that will (should) have no affect. &nbsp;The idea is that users
+should be able to set it to be whatever they want it to be and that should
+not break the App Client code. &nbsp;The openejb.jndiname.format is
+specifically for "plain" clients and allows them to get the names as they
+want them.
+
+Internally, we bind each EJB proxy under essentially a hardcoded and
+predictable format and then again using the user supplied format. &nbsp;So
+there are at minimum two JNDI trees with every EJB proxy. &nbsp;It used to
+be two at least. &nbsp;Now we have quite a few because of Java EE 6 global
+JNDI and the support we added for @LocalClient and allowing the same
+interface to be used as both @Local and @Remote.
+
+Basically we have:
+
+* openejb/Deployment/&lt;hardcoded internal format&gt;
+* openejb/local/&lt;strategy format&gt;
+* openejb/remote/&lt;strategy format&gt;
+
+The 'openejb/Deployment' section is the non-changing fully qualified name
+for use internally and by app clients.
+
+The 'openejb/remote' section is for "pretty" names looked up via plain
+clients using the RemoteInitialContextFactory. &nbsp;The protocol can tell
+the difference between app clients and plain clients and knows which area
+to look in.
+
+The 'openejb/local' section is for "pretty" names looked up via the
+LocalInitialContextFactory.
+
+The "pretty" names are defined by the openejb.jndiname.format and since the
+user has control of that formatting it's possible that not all proxies can
+be bound. &nbsp;Say the bean has both a local and remote interface and the
+user has just "\{deploymentId\}" or "\{ejbName\}" as the format.
+&nbsp;Hence those bind calls use the "optional" set of binding methods.
+
+The format of the internal names bound into openejb/Deployment is
+guaranteed to be unique. &nbsp;It's not pretty to look at obviously, but
+every possible proxy will be bound there guaranteed. &nbsp;For binding into
+'openejb/Deployment' we don't use the "optional" set of binding methods.
+&nbsp;If something can't be bound it's a deployment issue.
+
+The home interface is bound, but with the name of the corresponding
+business interface rather than the home interface. &nbsp;
+
+To be a little bit more clear - &nbsp;Both OpenEJB and Geronimo build their
+own JNDI trees for the App Client. &nbsp;Geronimo prefers to have its own
+JNDI tree for the App Client as there are other things in it that are not
+EJB related. &nbsp;Either way the OpenEJB EJBd protocol can carry the "id"
+of the App Client and both Geronimo and OpenEJB rely on that.
+
+In Geronimo App Clients the id is set to "Deployments" and that tells
+OpenEJB not to look in the "openejb/remote" section of JNDI as it normally
+would. &nbsp;It will instead use the "openejb/Deployments" section of JNDI
+were the names follow a predictable and unchanging format.
+
+In OpenEJB App Clients the id is set to the name of the App Client and we
+instead look in "openejb/client/<id>/" where names are formatted by the
+user via the application-client.xml.
+
+When calls are made from client to server and the App Client module id is
+not present, we look in openejb/remote/ where names are formatted using the
+openejb.jndi.format

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/application-deployment-solutions.md
----------------------------------------------------------------------
diff --git a/docs/application-deployment-solutions.md b/docs/application-deployment-solutions.md
new file mode 100644
index 0000000..6912c65
--- /dev/null
+++ b/docs/application-deployment-solutions.md
@@ -0,0 +1,78 @@
+index-group=Unrevised
+type=page
+status=published
+title=Deploying An Application To TomEE Or OpenEJB
+~~~~~~
+
+# Deploying An Application To TomEE Or OpenEJB
+## How to deploy my application under TomEE
+### Description
+
+This aims to be more dynamic in the way you deploy your applications.
+It is clearly cloud oriented.
+
+### Webapp and TomEE deployment
+
+Webapp can be deployed as Tomcat does. Simply put it in webapps folder
+(or the one you configured) and start TomEE.
+
+### TomEE specific deployment
+
+By default TomEE deploys applications (ear, war, jar) contained in $CATALINA_BASE/apps
+directory at start up.
+
+### Deployer
+
+OpenEJB provides a Deployer EJB to do this task. It can be used
+in your own software looking up remotely the "openejb/DeployerBusinessRemote" EJB.
+Its interface is "org.apache.openejb.assembler.Deployer".
+The needed dependency is org.apache.openejb:openejb-core.
+
+Once you got your deployer simply invoke the "deploy" method. Give it the location
+of your application (can be a file, http, https, maven location depending on
+the way you configured your container, for more information
+have a look to TomEE provisionning).
+
+Note: the "undeploy" method exists too and take the same path.
+
+The Deployer is the base of all other solutions
+
+### Maven plugin
+
+[org.apache.openejb:tomee-maven-plugin](maven/index.html) can be used to deploy/undeploy your application. Once this plugin is added to your pom you have access to the following configuration:
+
+* tomeeHttpPort
+* tomeeHost
+
+Then simply run
+
+    mvn tomee:deploy <path>
+
+or
+
+    mvn tomee:undeploy <path>
+
+#### The Deployer through TomEE Webapp
+
+When you start TomEE you can locally access the TomEE webapps (http://host:ip/tomee/).
+
+Then simply go to JNDI tree, select the deployer in the tree, then click on "invoke this ejb",
+select the deploy (or undeploy) method, fill the path and click on "invoke".
+
+#### Cloud idea
+
+If you want to cloudify your application, you'll get a configuration database (or any
+other storage system ;)).
+
+So it means it is easy for you to get a host and a port...so it is easy
+to deploy on all your server using the deployer: simply use the maven provisioning
+then run the deployer on all your nodes and that's all!
+
+
+### Doing it with camel?
+
+If you are using a route to deploy/undeploy your applications
+you can have a look to the proposed camel-openejb component:
+
+* base code: http://svn.apache.org/repos/asf/tomee/sandbox/camel/camel-openejb/
+* proposed to be added to camel: https://issues.apache.org/jira/browse/CAMEL-4935

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/application-discovery-via-the-classpath.md
----------------------------------------------------------------------
diff --git a/docs/application-discovery-via-the-classpath.md b/docs/application-discovery-via-the-classpath.md
new file mode 100644
index 0000000..7f0de76
--- /dev/null
+++ b/docs/application-discovery-via-the-classpath.md
@@ -0,0 +1,94 @@
+index-group=Unrevised
+type=page
+status=published
+title=Application discovery via the classpath
+~~~~~~
+This document details the various ways to get OpenEJB to detect
+applications you would like deployed while in an embedded mode.
+
+<a name="Applicationdiscoveryviatheclasspath-Emptyejb-jar.xmlapproach(recommended)"></a>
+# Empty ejb-jar.xml approach (recommended)
+
+Simplify the issue of searching for annotated applications by adding an
+ejb-jar.xml like this to your app:
+
+    <ejb-jar/>
+
+
+OpenEJB will find the app in the classpath and deploy it along with any
+annotated beans it may contain.
+
+The ejb-jar.xml can contain more than just "<ejb-jar/>" as usual.
+
+This is the recommended approach for people using OpenEJB for unit testing
+as it allows OpenEJB to find your application in the classpath without the
+need for you to specify any path information which tends to complicate
+builds.
+    
+# Including/Excluding paths (advanced)
+    
+If you do not like the idea of having the ejb-jar.xml in your app or an
+openejb.xml, we can search the classpath for annotated beans (@Stateless,
+@Stateful, @MessageDriven) and load them automatically just as if they
+contained an ejb-jar.xml.
+
+This form of searching, however, is very expensive as it involves iterating
+over every path in the classpath and reading in each class definition
+contained thereunder and checking it for annotations.
+
+This approach can only be made faster by helping us trim down or pinpoint
+the paths we should search via the *openejb.deployments.classpath.include*
+property which can be specified as a _system property_ or a property passed
+into the _InitialContext_.  
+
+The value of this property is a regular expression and therefore can be
+absolute or relative.  For example the path
+"/Users/dblevins/work/swizzle/swizzle-stream/target/classes" which contains
+the class files of an application you wish to test could be included in any
+of the following values to the "openejb.deployments.classpath.include"
+property:
+    
+* "file:///Users/dblevins/work/swizzle/swizzle-stream/target/classes/" _(an absolute path)_
+* "file:///Users/dblevins/work/swizzle/.*" _(relative)_
+* ".\*swizzle-stream.\*" _(very relative)_
+* ".\*(swizzle-stream|swizzle-jira|acme-rocket-app).\*" _(including several paths)_
+* ".\*(swizzle-stream^|swizzle-jira^|acme-rocket-app).\*" _(including several paths with Win specific escapes)_
+    
+Note the filtering is done on URLs in the classpath, so forward slashes
+should always be used even on OSs using backslash ("\").
+    
+There are also the *openejb.deployments.classpath.exclude* and *openejb.exclude-include.order*
+properties if you wish to work in the opposite direction or change the processing order.
+The default values for the properties are as follows:
+    
+      openejb.exclude-include.order=include-exclude //Defines the processing order
+	   openejb.deployments.classpath.include=""      //Include nothing
+       openejb.deployments.classpath.exclude=".*"    //Exclude everything
+    
+The exclude and the include are applied separately and the results of each
+are combined together to create the list of paths OpenEJB will scrape for
+annotations.
+    
+    *Note:* by default these settings will only affect which jars OpenEJB will
+	 scan for annotated components when no descriptor is found.  If you would
+	 like to use these settings to also filter out jars that do contain
+	 descriptors, set the *openejb.deployments.classpath.filter.descriptors*
+	 property to _true_.  The default is _false_.
+    
+# Troubleshooting
+
+If the include/exclude is not being processed as you expect first try
+reversing the order to *openejb.exclude-include.order*=exclude-include
+There are a number internal filters that may result in an unexpected exclusion.
+    
+If you're having trouble determining if the META-INF/ejb-jar.xml file for
+your ejb module is in the classpath, a little debug code like this in your
+test setup will help you see what OpenEJB sees (which may be nothing):
+    
+
+    Enumeration<URL> ejbJars =
+    this.getClass().getClassLoader().getResources("META-INF/ejb-jar.xml");
+    while (ejbJars.hasMoreElements()) {
+        URL url = ejbJars.nextElement();
+        System.out.println("app = " + url);
+    }

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/application-resources.md
----------------------------------------------------------------------
diff --git a/docs/application-resources.md b/docs/application-resources.md
new file mode 100644
index 0000000..b3ee1fa
--- /dev/null
+++ b/docs/application-resources.md
@@ -0,0 +1,250 @@
+index-group=Unrevised
+type=page
+status=published
+title=Application Resources
+~~~~~~
+<a name="ApplicationResources"></a>
+
+# Resources
+
+TomEE provides a simple but powerful way to define resources that can be injected into managed components inside your application, or looked up via JNDI. To use a resource, it needs to be defined in the `tomee.xml` configuration file, a `resources.xml` file within an application, or as a system property. Defining a resource in `tomee.xml` will make it available server-wide, whereas defining the resource within a `resources.xml` file makes it available to a specific application.
+
+As a simple example, a JMS queue can be defined within `tomee.xml` with the following configuration.
+
+    <tomee>
+        <Resource id="MyQueue" type="javax.jms.Queue"/>
+    </tomee>
+
+Once the resource has been defined, the server will create an instance of the resource during startup, and it will be available to be injected into managed components using the `@Resource` annotation, as shown below. The `name` attribute on the `@Resource` annotation should match the `id` attribute on the `Resource` tag.
+
+    public class JmsClient {
+	
+	    @Resource(name="MyQueue")
+	    private Queue queue;
+	
+		public void sendMessage() {
+			// implementation here...
+		}
+	
+	}
+	
+As an alternative to defining a resource in XML, resources can also be defined using system properties:
+
+    MyQueue = new://Resource?type=javax.jms.Queue
+	
+Resources, or attributes for resources specified using system properties will override definitions specified in `tomee.xml`.
+Server-wide resources can be looked up in JNDI under the following name: openejb:Resources/resource id.
+
+# Defining Resources
+<a name="DefiningResources"></a>
+
+The `<Resource>` tag has a number of attributes, and a resource may also have a number of fields that can be configured by adding properties to the body of the `Resource` tag.
+
+For example, a DataSource resource needs a JDBC driver, URL, username and password to be able to connect to a database. That would be configured with the following syntax. Notice the key/value pair syntax for the properties within the `<Resource>` tag.
+
+    <Resource id="DB" type="DataSource">
+      JdbcDriver  com.mysql.jdbc.Driver
+      JdbcUrl     jdbc:mysql://localhost/test
+      UserName    test
+	  Password    password
+    </Resource>
+	
+Specifying the key/value pairs specific to a Resource can also be done when defining the resource via system properties. This is done be specifying an additional property for each key/value pair, using the resource ID as a prefix: `<resourceId>.<propertyName>=<value>`. The system properties equivalent of the resource above is:
+
+    p.setProperty("DB", "new://Resource?type=DataSource");
+	p.setProperty("DB.JdbcDriver", "com.mysql.jdbc.Driver");
+	p.setProperty("DB,JdbcUrl", "jdbc:mysql://localhost/test");
+	p.setProperty("DB.UserName", "test");
+	p.setProperty("DB.Password", "password");
+	
+The `<Resource>` tag has a number of attributes which control the way that the resource get created.
+
+* type
+
+A type that TomEE knows. The type is associated with a provider that knows how to create that type, and also any default properties that the resource should have if they are not specified in the resource definition. See <a href="https://github.com/apache/tomee/blob/tomee-1.7.x/tomee/tomee-webapp/src/main/resources/META-INF/org.apache.tomee/service-jar.xml">service-jar.xml</a> for an example set of service providers that come with TomEE.
+
+* provider
+
+Explicitly specifies a provider to create the resource, using defaults for any properties not specified.
+
+* class-name
+
+The fully qualified class that creates the resource. This might the resource class itself, which is created by calling the constructor, or a factory class that provides a specific factory method to create the resource.
+
+* factory-name
+
+The name of the method to call to create the resource. If this is not specified, the constructor for the class specified by class-name will be used.
+
+* constructor
+
+Specifies a comma separated list of constructor arguments. These can be other services, or attributes on the resource itself.
+	
+# Custom resources
+
+TomEE allows you to define resources using your own Java classes, and these can also be injected into managed components in the same way as known resource types are.
+
+So the following simple resource
+
+    public class Configuration {
+	
+		private String url;
+		private String username;
+		private int poolSize;
+
+		// getters and setters
+	}
+
+Can be defined in `tomee.xml` using the following configuration (note the `class-name` attribute):
+
+    <Resource id="config" class-name="org.superbiz.Configuration">
+	    url http://localhost
+		username tomee
+		poolSize 20
+	</Resource>
+	
+This resource must be available in TomEE's system classpath - i.e. it must be defined in a .jar within the `lib/` directory.
+
+# Field and properties
+
+As shown above, a resource class can define a number of fields, and TomEE will attempt to apply the values from the resource definition onto those fields.
+
+As an alternative to this, you can also add a properties field as shown below, and this will have any used properties from the resource configuration set added to it. So as an alternative to the above code, you could do:
+
+    public class Configuration {
+	
+	    private Properties properties;
+		
+		public Properties getProperties() {
+		    return properties;
+		}
+		
+		public void setProperties(final Properties properties) {
+		    this.properties = properties;
+		}
+	
+	}
+
+Using the same resource definition:
+
+    <Resource id="config" class-name="org.superbiz.Configuration">
+	    url http://localhost
+		username tomee
+		poolSize 20
+	</Resource>
+
+the url, username and poolSize values will now be available in the properties field, so for example, the username property could be accessed via properties.getProperty("username");
+
+# Application resources
+
+Resources can also be defined within an application, and optionally use classes from the application's classpath. To define resources in a .war file, include a `WEB-INF/resources.xml`. For an ejb-jar module, use `META-INF/resources.xml`.
+
+The format of `resources.xml` uses the same `<Resource>` tag as `tomee.xml`. One key difference is the root element of the XML is `<resources>` and not `<tomee>`.
+
+    <resources>
+	    <Resource id="config" class-name="org.superbiz.Configuration">
+		    url http://localhost
+			username tomee
+			poolSize 20
+		</Resource>
+    </resources>
+	
+This mechanism allows you to package your custom resources within your application, alongside your application code, rather than requiring a .jar file in the `lib/` directory.
+
+Application resources are bound in JNDI under openejb:Resource/appname/resource id.
+
+# Additional resource properties
+
+Resources are typically discovered, created, and bound to JNDI very early on in the deployment process, as other components depend on them. This may lead to problems where the final classpath for the application has not yet been determined, and therefore TomEE is unable to load your custom resource. 
+
+The following properties can be used to change this behavior.
+
+* Lazy
+
+This is a boolean value, which when true, creates a proxy that defers the actual instantiation of the resource until the first time it is looked up from JNDI. This can be useful if the resource's classpath until the application is started (see below), or to improve startup time by not fully initializing resources that might not be used.
+
+* UseAppClassLoader 
+
+This boolean value forces a lazily instantiated resource to use the application classloader, instead of the classloader available when the resources were first processed.
+
+* InitializeAfterDeployment
+
+This boolean setting forces a resource created with the Lazy property to be instantiated once the application has started, as opposed to waiting for it to be looked up. Use this flag if you require the resource to be loaded, irrespective of whether it is injected into a managed component or manually looked up.
+
+By default, all of these settings are `false`, unless TomEE encounters a custom application resource that cannot be instantiated until the application has started. In this case, it will set these three flags to `true`, unless the `Lazy` flag has been explicitly set.
+
+# Initializing resources
+
+## constructor
+
+By default, if no factory-name attribute and no constructor attribute is specified on the `Resource`, TomEE will instantiate the resource using its no-arg constructor. If you wish to pass constructor arguments, specify the arguments as a comma separated list:
+
+    <Resource id="config" class-name="org.superbiz.Configuration" constructor="id, poolSize">
+	    url http://localhost
+		username tomee
+		poolSize 20
+	</Resource>
+
+## factory-name method
+
+In some circumstances, it may be desirable to add some additional logic to the creation process, or to use a factory pattern to create resources. TomEE also provides this facility via the `factory-name` method. The `factory-name` attribute on the resource can reference any no argument method that returns an object on the class specified in the `class-name` attribute.
+
+For example:
+
+    public class Factory {
+	
+	    private Properties properties;
+	
+	    public Object create() {
+		
+		     MyResource resource = new MyResource();
+			 // some custom logic here, maybe using this.properties
+			 
+			 return resource;
+		}
+		
+		public Properties getProperties() {
+		    return properties;
+		}
+		
+		public void setProperties(final Properties properties) {
+		    this.properties = properties;
+		}
+	
+	}
+
+    <resources>
+        <Resource id="MyResource" class-name="org.superbiz.Factory" factory-name="create">
+		    UserName tomee
+		</Resource>
+    </resources>
+
+## @PostConstruct / @PreDestroy
+
+As an alternative to using a factory method or a constructor, you can use @PostConstruct and @PreDestroy methods within your resource class (note that you cannot use this within a different factory class) to manage any additional creation or cleanup activities. TomEE will automatically call these methods when the application is started and destroyed. Using @PostConstruct will effectively force a lazily loaded resource to be instantiated when the application is starting - in the same way that the `InitializeAfterDeployment` property does.
+
+    public class MyClass {
+	
+	    private Properties properties;
+		
+		public Properties getProperties() {
+		    return properties;
+		}
+		
+		public void setProperties(final Properties properties) {
+		    this.properties = properties;
+		}
+		
+		@PostConstruct
+		    public void postConstruct() throws MBeanRegistrationException {
+		        // some custom initialization
+			}
+		}
+	
+	}
+
+# Examples
+
+The following examples demonstrate including custom resources within your application:
+
+* resources-jmx-example
+* resources-declared-in-webapp

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/arquillian-available-adapters.md
----------------------------------------------------------------------
diff --git a/docs/arquillian-available-adapters.md b/docs/arquillian-available-adapters.md
new file mode 100644
index 0000000..5c6ff40
--- /dev/null
+++ b/docs/arquillian-available-adapters.md
@@ -0,0 +1,264 @@
+index-group=Unrevised
+type=page
+status=published
+title=TomEE and Arquillian
+~~~~~~
+
+Check out the [Getting started](arquillian-getting-started.html) page if you are not at all familiar with Arquillian.
+
+All the Arquillian Adapters for TomEE support the following configuration options in the **src/test/resources/arquillian.xml**:
+
+    <container qualifier="tomee" default="true">
+        <configuration>
+            <property name="httpPort">-1</property>
+            <property name="stopPort">-1</property>
+            <!--Optional Container Properties-->
+            <property name="properties">
+                aproperty=something
+            </property>
+            <!--Optional Remote Adapter Deployer Properties
+            <property name="deployerProperties">
+                aproperty=something
+            </property>
+            -->
+        </configuration>
+    </container>
+
+The above can also be set as system properties rather than via the **src/test/resources/arquillian.xml** file.
+
+    <build>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <systemPropertyVariables>
+              <tomee.httpPort>-1</tomee.httpPort>
+              <tomee.stopPort>-1</tomee.stopPort>
+            </systemPropertyVariables>
+          </configuration>
+        </plugin>
+      </plugins>
+    </build>
+
+When a port is set to -1, a random port will be chosen.  This is key to avoiding port conflicts on CI systems or for just plain clean testing.
+
+The TomEE Arquillian adapters will export the actual port chosen back as a system property using the same name.  The test case can use the property to retrieve the port and contact the server.
+
+    URL url = new URL("http://localhost:" + System.getProperty("tomee.httpPort");
+    // use the URL to connect to the server
+	
+If that property returns null	
+
+When you are actually using a test on the client side, you can use instead
+
+	import org.jboss.arquillian.test.api.ArquillianResource;
+	...
+	@ArquillianResource private URL url;
+
+The URL will get injected by Arquillian. Be careful, that injection only works if your are on the client side (it does not make sense in the server side). So, if for a specific need to need it, just use the system property.
+
+# TomEE Embedded Adapter
+
+The TomEE Embedded Adapter will boot TomEE right inside the test case itself resulting in one JVM running both the application and the test case. This is generally much faster than the TomEE Remote Adapter and great for development.  That said, it is strongly recommended to also run all tests in a Continuous Integration system using the TomEE Remote Adapter.
+
+To use the TomEE Embedded Arquillian Adapter, simply add these Maven dependencies to your Maven pom.xml:
+
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>arquillian-tomee-embedded</artifactId>
+      <version>1.7.1</version> <!--Current version-->
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>tomee-embedded</artifactId>
+      <version>1.7.1</version>
+    </dependency>
+    <!--Required for WebServices and RESTful WebServices-->
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>tomee-webservices</artifactId>
+      <version>1.7.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>tomee-jaxrs</artifactId>
+      <version>1.7.1</version>
+    </dependency>
+
+As mentioned above the Embedded Adapter has the following properties which can be specified in the **src/test/resources/arquillian.xml** file:
+
+ - `httpPort`
+ - `stopPort`
+ - `properties` (System properties for container)
+
+Or alternatively as System properties, possibly shared with other TomEE Arquillian Adapters:
+
+ - `tomee.httpPort`
+ - `tomee.stopPort`
+
+Or more specifically as a System properties only applicable to the Embedded Adapter:
+
+ - `tomee.embedded.httpPort`
+ - `tomee.embedded.stopPort`
+
+
+# TomEE Remote Adapter
+
+The TomEE Remote Adapter will unzip and setup a TomEE or TomEE Plus distribution.  Once setup, the server will execute in a separate process.  This will be slower, but with the added benefit it is 100% match with the production system environment.
+
+On a local machine clients can get the remote server port using the following System property:
+
+	final String port = System.getProperty("server.http.port");
+
+The following shows a typical configuration for testing against TomEE (webprofile version).  The same can be done against TomEE+ by changing `<tomee.classifier>webprofile</tomee.classifier>` to `<tomee.classifier>plus</tomee.classifier>`
+
+    <properties>
+      <tomee.version>1.7.1</tomee.version>
+      <tomee.classifier>webprofile</tomee.classifier>
+    </properties>
+    <build>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <systemPropertyVariables>
+              <tomee.classifier>${tomee.classifier}</tomee.classifier>
+              <tomee.version>${tomee.version}</tomee.version>
+            </systemPropertyVariables>
+          </configuration>
+        </plugin>
+      </plugins>
+    </build>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.openejb</groupId>
+        <artifactId>arquillian-tomee-remote</artifactId>
+        <version>${tomee.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.openejb</groupId>
+        <artifactId>apache-tomee</artifactId>
+        <version>${tomee.version}</version>
+        <classifier>${tomee.classifier}</classifier>
+        <type>zip</type>
+      </dependency>
+    </dependencies>
+
+The Remote Adapter has the following properties which can be specified in the **src/test/resources/arquillian.xml** file:
+
+ - `httpPort`
+ - `stopPort`
+ - `version`
+ - `classifier` (Must be either `webprofile` or  `plus`)
+ - `properties` (System properties for container)
+ - `deployerProperties` (Sent to Deployer)
+
+Or alternatively as System properties, possibly shared with other TomEE Arquillian Adapters:
+
+ - `tomee.httpPort`
+ - `tomee.stopPort`
+ - `tomee.version`
+ - `tomee.classifier`
+
+Or more specifically as a System properties only applicable to the Remote Adapter:
+
+ - `tomee.remote.httpPort`
+ - `tomee.remote.stopPort`
+ - `tomee.remote.version`
+ - `tomee.remote.classifier`
+
+# Maven Profiles
+
+Setting up both adapters is quite easy via Maven profiles.  Here the default adapter is the Embedded Adapter, the Remote Adapter will run with `-Ptomee-webprofile-remote` specified as a `mvn` command argument.
+
+    <profiles>
+
+      <profile>
+        <id>tomee-embedded</id>
+        <activation>
+          <activeByDefault>true</activeByDefault>
+        </activation>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>arquillian-tomee-embedded</artifactId>
+            <version>1.0.0</version>
+          </dependency>
+        </dependencies>
+      </profile>
+
+      <profile>
+        <id>tomee-webprofile-remote</id>
+        <properties>
+          <tomee.version>1.0.0</tomee.version>
+          <tomee.classifier>webprofile</tomee.classifier>
+        </properties>
+        <build>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-surefire-plugin</artifactId>
+              <configuration>
+                <systemPropertyVariables>
+                  <tomee.classifier>${tomee.classifier}</tomee.classifier>
+                  <tomee.version>${tomee.version}</tomee.version>
+                </systemPropertyVariables>
+              </configuration>
+            </plugin>
+          </plugins>
+        </build>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>arquillian-tomee-remote</artifactId>
+            <version>${tomee.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>apache-tomee</artifactId>
+            <version>${tomee.version}</version>
+            <classifier>${tomee.classifier}</classifier>
+            <type>zip</type>
+          </dependency>
+        </dependencies>
+      </profile>
+
+      <profile>
+        <id>tomee-plus-remote</id>
+        <properties>
+          <tomee.version>1.0.0</tomee.version>
+          <tomee.classifier>plus</tomee.classifier>
+        </properties>
+        <build>
+          <plugins>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-surefire-plugin</artifactId>
+              <configuration>
+                <systemPropertyVariables>
+                  <tomee.classifier>${tomee.classifier}</tomee.classifier>
+                  <tomee.version>${tomee.version}</tomee.version>
+                </systemPropertyVariables>
+              </configuration>
+            </plugin>
+          </plugins>
+        </build>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>arquillian-tomee-remote</artifactId>
+            <version>${tomee.version}</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.openejb</groupId>
+            <artifactId>apache-tomee</artifactId>
+            <version>${tomee.version}</version>
+            <classifier>${tomee.classifier}</classifier>
+            <type>zip</type>
+          </dependency>
+        </dependencies>
+      </profile>
+
+    </profiles>

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/arquillian-getting-started.md
----------------------------------------------------------------------
diff --git a/docs/arquillian-getting-started.md b/docs/arquillian-getting-started.md
new file mode 100644
index 0000000..55d0475
--- /dev/null
+++ b/docs/arquillian-getting-started.md
@@ -0,0 +1,24 @@
+index-group=Unrevised
+type=page
+status=published
+title=Getting started with Arquillian and TomEE
+~~~~~~
+
+Arquillian is a testing framework on top of JUnit (or TestNG if you prefer). It makes it easier to do integration tests in a managed environment (JEE environment here after).
+
+We provide an embedded and remote adapter, see [the available adapters](arquillian-available-adapters.html) for more details.
+
+In a managed environment it is usually quite difficult to perform unit tests, due to the fact that most of the time you have to mock almost the entire environment. It is very time consuming and requires complicated integration tests that must reflect the production environment as best as possible. Unit tests lose their true value.
+
+JEE always got seen as an heavy technology, impossible to test and to use in development. OpenEJB always fight against that idea and proved that it's really possible.
+
+As David Blevins said:
+> "Do not blame EJBs (ie. Java EE) because your server is not testable."
+
+With latest Java EE specifications (5 and especially 6), it becomes a reality. Arquillian typically addresses that area. It is basically a framework that aims at helping/managing the server/container in an agnostic way. Arquillian is responsible for the lifecycle of the container (start, deploy, undeploy, stop, etc).
+
+TomEE community heavily invested on that framework to prove it's really useful and can really help testing Java EE application. That's also an opportunity to get the most out of TomEE (lightweight, fast, feature-rich, etc).
+
+{info
+See [Arquillian.org](http://arquillian.org) for a great quick-start tutorial on Arquillian itself.
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/basics---getting-things.md
----------------------------------------------------------------------
diff --git a/docs/basics---getting-things.md b/docs/basics---getting-things.md
new file mode 100644
index 0000000..2f3a691
--- /dev/null
+++ b/docs/basics---getting-things.md
@@ -0,0 +1,107 @@
+index-group=Unrevised
+type=page
+status=published
+title=Basics - Getting Things
+~~~~~~
+<a name="Basics-GettingThings-GettingStufffromtheContainer"></a>
+# Getting Stuff from the Container
+
+Generally speaking the only way to get a [Container-Managed Resource](container-managed-resource.html)
+ is via *dependency injection* or *lookup* from within a [Container-Managed Component]
+.
+
+The *unbreakable rules*.  Read these over and over again when things don't
+work.
+
+1. java:comp/env is the spec defined namespace for lookup of any [Container-Managed Resource](container-managed-resource.html)
+1. java:comp/env is *empty* by default
+1. java:comp/env is *read-only* at runtime
+1. java:comp/env is populated by [Declaring References](declaring-references.html)
+ to [Container-Managed Resource]
+ via xml or annotation
+1. only [Container-Managed Component](container-managed-component.html)
+s, *not* their libraries, can [Declare References|Declaring References]
+ via xml or annotation
+1. only [Container-Managed Component](container-managed-component.html)
+s, *not* their libraries, can get dependency injection of [Container-Managed Resource]
+s
+1. only [Container-Managed Component](container-managed-component.html)
+s, *and* their libraries, may lookup from java:comp/env
+1. you *must* use the *no-arg* 'new InitialContext()' constructor to
+lookup something from java:comp/env
+1. the annotations and xml for [Declaring References](declaring-references.html)
+ are *identical* in functionality, both *always* configure lookup with
+*optional* dependency injection
+
+<a name="Basics-GettingThings-Commonmistakes,misunderstandings,andmyths"></a>
+##  Common mistakes, misunderstandings, and myths
+
+- *_"I tried it via annotation and it didn't work, so I used xml and then
+it did work"_*
+
+See rule 9.  If one form worked and the other didn't, it means you simply
+made a mistake in using one versus the other.  Use what works for you, but
+understand both annotations or xml will work for either lookup or injection
+if used correctly.
+
+- *_"I need to use lookups, so I can't use the annotation"_*
+
+See rule 9.  Annotations are not just for injection, that is just how they
+are typically used.  Know that when you use an annotation for injection, it
+will *always* create an entry in java:comp/env.  As well you can use the
+annotation at the *class level* and it will cause no dependency injection
+and only the entry creation in java:comp/env.
+
+- *_"I don't want injection, so I can't use the annotation"_*
+
+See rule 9 and the above.  You can use the annotation at the *class level*
+and it will cause no dependency injection and only the entry creation in
+java:comp/env.
+
+- *_"I tried to list java:comp/env but it's empty?!"_*
+
+See rule 2 and rule 4.	There will be nothing in java:comp/env unless you [Declare a Reference](declaring-references.html)
+ to it.  It does not matter if is a DataSource configured at the server
+level, etc.  Nothing is bound into java:comp/env unless you explicitly
+declare a reference to it.  The Java EE 5 TCK (Technology Compatibility
+Kit) tests for this extensively and is a rule we cannot break.	Java EE 6
+does finally offer some new namesaces (java:global, java:app, and
+java:module) which will offer some great new options for more global-style
+lookups.
+
+- *_"I deployed the EJB but can't look it up, it's name is Foo"_*
+
+See rule 2 and the above.  Just creating an EJB doesn't cause it to be
+added to java:comp/env.  If a [Container-Managed Component](container-managed-component.html)
+ wants to lookup the EJB they must [Declare a Reference|Declaring References]
+ to it via the @EJB annotionation or &lt;ejb-local-ref&gt; or &lt;ejb-ref&gt; in xml. 
+In Java EE 6, however, EJBs will be automatically bound to
+"java:global[/&lt;app-name&gt;]/&lt;module-name&gt;/&lt;bean-name&gt;[!&lt;fully-qualified-interface-name&gt;]"
+and can be looked up without declaring a reference first.
+
+- *_"Which InitialContextFactory do I use for java:comp/env?"_*
+
+See rule 8.  You are not allowed to use an InitialContextFactory for
+java:comp/env lookups.	Setting an InitialContextFactory via
+'java.naming.factory.initial' in either System properties, InitialContext
+properties, or a jndi.properties file is illegal and will cause
+java:comp/env lookups to fail.
+
+- *_"My Client can't lookup the EJB from java:comp/env"_*
+
+See rule 7.  A plain, standalone, Java application cannot use
+java:comp/env. There is the official concept of a Java EE Application
+Client which can be packaged in an ear and deployed into the Container.  In
+practice, most people find them restrictive, cumbersome, and hard to use
+and are therefore rarely employed in "real world" projects.  Most people
+opt to use the non-standard, vendor-specific, approach to looking up EJBs
+from their plain java clients.	In OpenEJB this can be done via either the
+RemoteInitialContextFactory (for remote clients) or the
+LocalInitialContextFactory (for local clients of an embedded container). 
+The JNDI names can be configured as [shown here](jndi-names.html)
+.
+
+- *_"I declared the reference, but still can't look it up"_*
+
+See all of the above and reread the rules a few times.	Always check the
+log output as well.

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/basics---security.md
----------------------------------------------------------------------
diff --git a/docs/basics---security.md b/docs/basics---security.md
new file mode 100644
index 0000000..135cfa5
--- /dev/null
+++ b/docs/basics---security.md
@@ -0,0 +1,55 @@
+index-group=Unrevised
+type=page
+status=published
+title=Basics - Security
+~~~~~~
+This section is under construction, please check back later.
+
+<a name="Basics-Security-RelatedDocuments"></a>
+## Related Documents
+
+[Security](security.html)
+ \- login module configuration
+[Security Annotations](security-annotations.html)
+ \- EJB3 related annotation based security.
+
+<a name="Basics-Security-ServerSideSecurity"></a>
+## Server Side Security
+
+There's a few things that should be noted about security from the server
+side perspective.
+
+<a name="Basics-Security-SecurityPropagation"></a>
+### Security Propagation
+Note, this is partially documented in the EJB 3 spec section 14.8.1.1.
+
+1. Once a remote bean has been instantiated, from within the container, it
+inherits the entire security context, and all roles will be inherited the
+same as the method where the bean is being looked up.
+1. Looking up a bean via an `InitialContext`, or via injection, will inherit
+the security context (user, roles, etc), thereby propagating the security
+through to any container bean in the chain of method calls.
+1. No properties are allowed for the `InitialContext`, and you *MUST* be
+calling the no args constructor only.  There are documents elsewhere that
+describe using the OpenEJB initial context factories and such, with
+usernames and passwords, etc; it should be noted that this method of using
+the factories is OpenEJB specific, to facilitate non-standard clients not
+running in an EJB container, etc.
+
+For example, here is an EJB that returns another bean, through a remote
+method call.  In this case, the *OtherBean* instance, will have the same
+security as *MyBean*, including the principal (username), roles, etc.
+
+
+    import javax.ejb.EJB;
+    import javax.naming.InitialContext;
+    
+    @EJB(name = "otherBean", beanInterface = IOtherBean.class)
+    public class MyBean
+    {
+        public IOtherBean getOtherBean()
+        {
+    	InitialContext context = new InitialContext();
+    	return (IOtherBean) context.lookup("java:comp/env/otherBean");
+        }
+    }

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/basics---transactions.md
----------------------------------------------------------------------
diff --git a/docs/basics---transactions.md b/docs/basics---transactions.md
new file mode 100644
index 0000000..a173c5f
--- /dev/null
+++ b/docs/basics---transactions.md
@@ -0,0 +1,60 @@
+index-group=Unrevised
+type=page
+status=published
+title=Basics - Transactions
+~~~~~~
+One of the many benefits of EJB, is that transactions within the EJB
+container are generally managed entirely automatically.  Any EJB component
+will, by default, partake in that transaction.
+
+Here are some basic rules to understand about transactions.  Keep note that
+this is the default behaviour, and the system can be configured to behave
+differently, depending on the needs of your system, bean, or individual
+methods of your beans.
+
+<a name="Basics-Transactions-Participants"></a>
+## Participants
+
+Various components and parts of the EJB system can be part of a
+transaction. Examples are
+
+1. Session bean
+1. Message Driven Bean
+1. EntityManager (a.k.a. Persistence context)
+
+<a name="Basics-Transactions-Behaviour"></a>
+## Behaviour
+
+The basic default behaviours are
+1. A transaction starts at the beginning of the first EJB method call, in a
+chain of calls that are participating in the given transaction
+1. A transaction ends at the end of the first EJB method, in the same chain
+1. If a bean that has started a transaction, uses another bean, that bean
+will automatically use the same transaction as the calling bean.
+
+<a name="Basics-Transactions-Configuration"></a>
+## Configuration
+
+You can configure your beans in a variety of ways.  Generally speaking, a
+transaction is started when a method is called, but can be configured using
+@TransactionAttribute(value = TransactionAttributeType.X), where X is one
+of...
+
+1. REQUIRED - the default, which is to start a transaction if one does not exist, but to use the existing one if it has already been started.
+1. REQUIRES_NEW - the transaction is created on every call, and ends when the call is completed.	Beans don't partake in transactions created by other parts of the system.
+1. MANDATORY - a transaction must always exist prior to the call, and it will be used.  It is an error otherwise
+1. NOT_SUPPORTED - component not included in the transaction
+1. SUPPORTS - transaction will be used if it exists, but will not be created if it does not exist
+1. NEVER - if a transaction exists, it is an error to call the method
+
+@TransactionAttribute applies to both methods and entire beans.  You may
+set one type of transaction behaviour (as seen above) on the bean, and a
+different one on a specific method of that same bean, which overrides the
+one configured for the overall bean.  For instance, maybe you want to make
+an audit entry in the database that you are about to attempt a credit card
+payment.  It really needs to be in it's own transaction so that it is
+IMMEDIATELY committed for audit purposes, if something goes wrong with the
+credit card payment.  So, perhaps you use MANDATORY on the bean, and
+REQUIRES_NEW on the method for audit logging.  As soon as the method that
+does the audit logging is complete, the transaction is committed, and the
+credit card payment transaction continues on it's way.

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/bmpentitycontainer-config.md
----------------------------------------------------------------------
diff --git a/docs/bmpentitycontainer-config.md b/docs/bmpentitycontainer-config.md
new file mode 100644
index 0000000..5223e35
--- /dev/null
+++ b/docs/bmpentitycontainer-config.md
@@ -0,0 +1,37 @@
+index-group=Unrevised
+type=page
+status=published
+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 class="mdtable">
+<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>

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/bouncy-castle.md
----------------------------------------------------------------------
diff --git a/docs/bouncy-castle.md b/docs/bouncy-castle.md
new file mode 100644
index 0000000..d2fff7b
--- /dev/null
+++ b/docs/bouncy-castle.md
@@ -0,0 +1,34 @@
+index-group=Unrevised
+type=page
+status=published
+title=Installing Bouncy Castle
+~~~~~~
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you under the Apache License, Version 2.0 (the
+           "License"); you may not use this file except in compliance
+           with the License.  You may obtain a copy of the License at
+           .
+             http://www.apache.org/licenses/LICENSE-2.0
+           .
+           Unless required by applicable law or agreed to in writing,
+           software distributed under the License is distributed on an
+           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+           KIND, either express or implied.  See the License for the
+           specific language governing permissions and limitations
+           under the License.
+
+Installation of Bouncy Castle for use in TomEE itself is done in two steps:
+
+ 1. Add the Bouncy Castle provider jar to the `$JAVA_HOME/jre/lib/ext` directory
+ 1. Create a Bouncy Castle provider entry in the  `$JAVA_HOME/jre/lib/security/java.security` file
+
+The entry to `java.security` will look something like the following:
+
+    security.provider.N=org.bouncycastle.jce.provider.BouncyCastleProvider
+
+Replace `N` with the order of precedence you would like to give Bouncy Castle in comparison to the
+other providers in the file.  **Recommended** would be the last entry in the list -- `N` being the higest number in the list.
+**Warning** that configuring Bouncy Castle as the first provider, `security.provider.1`, may cause JVM errors.

http://git-wip-us.apache.org/repos/asf/tomee/blob/b93bd755/docs/built-in-type-converters.md
----------------------------------------------------------------------
diff --git a/docs/built-in-type-converters.md b/docs/built-in-type-converters.md
new file mode 100644
index 0000000..b94a545
--- /dev/null
+++ b/docs/built-in-type-converters.md
@@ -0,0 +1,94 @@
+index-group=Unrevised
+type=page
+status=published
+title=Built-in Type Converters
+~~~~~~
+The following built-in types are supported for @Resource injection in EJBs
+via <env-entry> elements in a META-INF/ejb-jar.xml or via plain properties
+in a META-INF/env-entries.properties file.
+
+EJB 3.0 required types:
+
+ - java.lang.Boolean
+ - java.lang.Byte
+ - java.lang.Character
+ - java.lang.Double
+ - java.lang.Float
+ - java.lang.Integer
+ - java.lang.Long
+ - java.lang.Short
+ - java.lang.String
+
+OpenEJB 3.0 additional types:
+
+ - java.lang.Class
+ - java.lang.Enum (any subclass of)
+ - java.io.File
+ - java.math.BigDecimal
+ - java.math.BigInteger
+ - java.net.Inet4Address
+ - java.net.Inet6Address
+ - java.net.InetAddress
+ - java.net.URI
+ - java.net.URL
+ - java.util.ArrayList
+ - java.util.Date
+ - java.util.HashMap
+ - java.util.Hashtable
+ - java.util.IdentityHashMap
+ - java.util.LinkedHashMap
+ - java.util.LinkedHashSet
+ - java.util.LinkedList
+ - java.util.List
+ - java.util.Map
+ - java.util.Properties
+ - java.util.Set
+ - java.util.SortedMap
+ - java.util.TreeMap
+ - java.util.TreeSet
+ - java.util.Vector
+ - java.util.WeakHashMap
+ - java.util.logging.Logger
+ - java.util.regex.Pattern
+ - javax.management.ObjectName
+ - javax.naming.Context
+ - org.apache.commons.logging.Log
+ - org.apache.log4j.Logger
+
+To use an OpenEJB additional type in xml, simply declare it as
+<env-entry-type>java.lang.String</env-entry-type> and it will be converted
+on the fly to the field/setter type used by the bean class.  For example:
+
+
+    package org.superbiz.foo;
+    
+    import java.util.Date;
+    
+    @Stateless
+    public class MyBean {
+    
+        @Resource
+        private Date myDate;
+    }
+
+
+Works with an ejb-jar.xml as follows:
+
+    <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
+    metadata-complete="false">
+      <enterprise-beans>
+        <session>
+          <ejb-name>MyBean</ejb-name>
+          <env-entry>
+      <env-entry-name>org.superbiz.foo.MyBean/myDate</env-entry-name>
+      <env-entry-value>2008-04-19</env-entry-value>
+      <env-entry-type>java.lang.String</env-entry-type>
+          </env-entry>
+        </session>
+      </enterprise-beans>
+    </ejb-jar>
+
+    
+Or with an env-entries.properties file as follows:
+
+    org.superbiz.foo.MyBean/myDate = 2008-04-19