You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2018/12/06 08:52:47 UTC

[02/44] tomee git commit: TOMEE-2316 Convert Markdown files to Asciidoc in the docs folder - 2

TOMEE-2316 Convert Markdown files to Asciidoc in the docs folder - 2


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

Branch: refs/heads/master
Commit: d380ec1882d75415b288c831797fdbcb09d79c44
Parents: 388460f
Author: Carlos Chacin <cc...@gmail.com>
Authored: Wed Dec 5 22:07:18 2018 -0800
Committer: Carlos Chacin <cc...@gmail.com>
Committed: Wed Dec 5 22:07:18 2018 -0800

----------------------------------------------------------------------
 docs/basics---getting-things.adoc               | 108 +++++++++
 docs/basics---getting-things.md                 | 107 ---------
 docs/basics---security.adoc                     |  54 +++++
 docs/basics---security.md                       |  55 -----
 docs/basics---transactions.adoc                 |  67 ++++++
 docs/basics---transactions.md                   |  60 -----
 docs/bmpentitycontainer-config.adoc             |  53 +++++
 docs/bmpentitycontainer-config.md               |  37 ---
 docs/bouncy-castle.adoc                         |  39 ++++
 docs/bouncy-castle.md                           |  34 ---
 docs/built-in-type-converters.adoc              |  98 ++++++++
 docs/built-in-type-converters.md                |  94 --------
 docs/callbacks.adoc                             | 165 +++++++++++++
 docs/callbacks.md                               | 167 --------------
 docs/changing-jms-implementations.adoc          | 158 +++++++++++++
 docs/changing-jms-implementations.md            | 136 -----------
 docs/client-server-transports.adoc              |  39 ++++
 docs/client-server-transports.md                |  22 --
 docs/clients.adoc                               |  95 ++++++++
 docs/clients.md                                 | 104 ---------
 docs/cmpentitycontainer-config.adoc             |  51 ++++
 docs/cmpentitycontainer-config.md               |  36 ---
 docs/collapsed-ear.adoc                         |  49 ++++
 docs/collapsed-ear.md                           |  46 ----
 docs/common-datasource-configurations.adoc      | 116 ++++++++++
 docs/common-datasource-configurations.md        | 115 ---------
 docs/common-errors.adoc                         |  31 +++
 docs/common-errors.md                           |  30 ---
 docs/common-persistenceprovider-properties.adoc |  47 ++++
 docs/common-persistenceprovider-properties.md   |  47 ----
 docs/comparison.adoc                            | 231 +++++++++++++++++++
 docs/comparison.md                              | 222 ------------------
 docs/concepts.adoc                              |  83 +++++++
 docs/concepts.md                                |  79 -------
 34 files changed, 1484 insertions(+), 1391 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/basics---getting-things.adoc
----------------------------------------------------------------------
diff --git a/docs/basics---getting-things.adoc b/docs/basics---getting-things.adoc
new file mode 100644
index 0000000..e166d37
--- /dev/null
+++ b/docs/basics---getting-things.adoc
@@ -0,0 +1,108 @@
+# Basics - Getting Things 
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+# Getting Stuff from the Container
+
+Generally speaking the only way to get a
+link:container-managed-resource.html[Container-Managed Resource] 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.
+
+[arabic]
+. java:comp/env is the spec defined namespace for lookup of any
+link:container-managed-resource.html[Container-Managed Resource]
+. java:comp/env is _empty_ by default
+. java:comp/env is _read-only_ at runtime
+. java:comp/env is populated by link:declaring-references.html[Declaring
+References] to [Container-Managed Resource] via xml or annotation
+. only link:container-managed-component.html[Container-Managed
+Component] s, _not_ their libraries, can [Declare References|Declaring
+References] via xml or annotation
+. only link:container-managed-component.html[Container-Managed
+Component] s, _not_ their libraries, can get dependency injection of
+[Container-Managed Resource] s
+. only link:container-managed-component.html[Container-Managed
+Component] s, _and_ their libraries, may lookup from java:comp/env
+. you _must_ use the _no-arg_ 'new InitialContext()' constructor to
+lookup something from java:comp/env
+. the annotations and xml for link:declaring-references.html[Declaring
+References] are _identical_ in functionality, both _always_ configure
+lookup with _optional_ dependency injection
+
+== 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
+link:declaring-references.html[Declare a Reference] 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
+link:container-managed-component.html[Container-Managed Component] wants
+to lookup the EJB they must [Declare a Reference|Declaring References]
+to it via the @EJB annotionation or <ejb-local-ref> or <ejb-ref> in xml.
+In Java EE 6, however, EJBs will be automatically bound to
+"java:global[/<app-name>]/<module-name>/<bean-name>[!<fully-qualified-interface-name>]"
+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 link:jndi-names.html[shown here] .
+
+* __"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/d380ec18/docs/basics---getting-things.md
----------------------------------------------------------------------
diff --git a/docs/basics---getting-things.md b/docs/basics---getting-things.md
deleted file mode 100644
index 2f3a691..0000000
--- a/docs/basics---getting-things.md
+++ /dev/null
@@ -1,107 +0,0 @@
-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/d380ec18/docs/basics---security.adoc
----------------------------------------------------------------------
diff --git a/docs/basics---security.adoc b/docs/basics---security.adoc
new file mode 100644
index 0000000..56b5ec6
--- /dev/null
+++ b/docs/basics---security.adoc
@@ -0,0 +1,54 @@
+# Basics - Security
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+This section is under construction, please check back later.
+
+== Related Documents
+
+link:security.html[Security] - login module configuration
+link:security-annotations.html[Security Annotations] - EJB3 related
+annotation based security.
+
+== Server Side Security
+
+There's a few things that should be noted about security from the server
+side perspective.
+
+=== Security Propagation Note, this is partially documented in the EJB 3
+spec section 14.8.1.1.
+
+[arabic]
+. 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.
+. 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.
+. 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/d380ec18/docs/basics---security.md
----------------------------------------------------------------------
diff --git a/docs/basics---security.md b/docs/basics---security.md
deleted file mode 100644
index 135cfa5..0000000
--- a/docs/basics---security.md
+++ /dev/null
@@ -1,55 +0,0 @@
-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/d380ec18/docs/basics---transactions.adoc
----------------------------------------------------------------------
diff --git a/docs/basics---transactions.adoc b/docs/basics---transactions.adoc
new file mode 100644
index 0000000..3441f84
--- /dev/null
+++ b/docs/basics---transactions.adoc
@@ -0,0 +1,67 @@
+# Basics - Transactions
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+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.
+
+== Participants
+
+Various components and parts of the EJB system can be part of a
+transaction. Examples are
+
+[arabic]
+. Session bean
+. Message Driven Bean
+. EntityManager (a.k.a. Persistence context)
+
+== 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.
+
+== 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...
+
+[arabic]
+. 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.
+. 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.
+. MANDATORY - a transaction must always exist prior to the call, and it
+will be used. It is an error otherwise
+. NOT_SUPPORTED - component not included in the transaction
+. SUPPORTS - transaction will be used if it exists, but will not be
+created if it does not exist
+. 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/d380ec18/docs/basics---transactions.md
----------------------------------------------------------------------
diff --git a/docs/basics---transactions.md b/docs/basics---transactions.md
deleted file mode 100644
index a173c5f..0000000
--- a/docs/basics---transactions.md
+++ /dev/null
@@ -1,60 +0,0 @@
-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/d380ec18/docs/bmpentitycontainer-config.adoc
----------------------------------------------------------------------
diff --git a/docs/bmpentitycontainer-config.adoc b/docs/bmpentitycontainer-config.adoc
new file mode 100644
index 0000000..977b873
--- /dev/null
+++ b/docs/bmpentitycontainer-config.adoc
@@ -0,0 +1,53 @@
+# BmpEntityContainer Configuration
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+
+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
+
+Property
+
+Type
+
+Default
+
+Description
+
+poolSize
+
+int
+
+10
+
+Specifies the size of the bean pools for this bmp entity container.

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/bmpentitycontainer-config.md
----------------------------------------------------------------------
diff --git a/docs/bmpentitycontainer-config.md b/docs/bmpentitycontainer-config.md
deleted file mode 100644
index 5223e35..0000000
--- a/docs/bmpentitycontainer-config.md
+++ /dev/null
@@ -1,37 +0,0 @@
-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/d380ec18/docs/bouncy-castle.adoc
----------------------------------------------------------------------
diff --git a/docs/bouncy-castle.adoc b/docs/bouncy-castle.adoc
new file mode 100644
index 0000000..f8288d0
--- /dev/null
+++ b/docs/bouncy-castle.adoc
@@ -0,0 +1,39 @@
+# Installing Bouncy Castle
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+NOTE: 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:
+
+[arabic]
+. Add the Bouncy Castle provider jar to the `$JAVA_HOME/jre/lib/ext`
+directory
+. 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/d380ec18/docs/bouncy-castle.md
----------------------------------------------------------------------
diff --git a/docs/bouncy-castle.md b/docs/bouncy-castle.md
deleted file mode 100644
index d2fff7b..0000000
--- a/docs/bouncy-castle.md
+++ /dev/null
@@ -1,34 +0,0 @@
-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/d380ec18/docs/built-in-type-converters.adoc
----------------------------------------------------------------------
diff --git a/docs/built-in-type-converters.adoc b/docs/built-in-type-converters.adoc
new file mode 100644
index 0000000..b8ab7c5
--- /dev/null
+++ b/docs/built-in-type-converters.adoc
@@ -0,0 +1,98 @@
+# Built-in Type Converters
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+The following built-in types are supported for
+@Resource injection in EJBs via 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
+java.lang.String 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
+....

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/built-in-type-converters.md
----------------------------------------------------------------------
diff --git a/docs/built-in-type-converters.md b/docs/built-in-type-converters.md
deleted file mode 100644
index b94a545..0000000
--- a/docs/built-in-type-converters.md
+++ /dev/null
@@ -1,94 +0,0 @@
-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

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/callbacks.adoc
----------------------------------------------------------------------
diff --git a/docs/callbacks.adoc b/docs/callbacks.adoc
new file mode 100644
index 0000000..0e227b6
--- /dev/null
+++ b/docs/callbacks.adoc
@@ -0,0 +1,165 @@
+# Callbacks
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+Correct usage of PostConstruct, PreDestroy, PrePassivate, PostActivate,
+and AroundInvoke for EJBs and Interceptors.
+
+For Stateful, Stateless, and MessageDriven, the syntax is as follows:
+
+* @PostConstruct <any-scope> void <method-name>()
+* @PreDestroy <any-scope> void <method-name>()
+* @PrePassivate <any-scope> void <method-name>()
+* @PostActivate <any-scope> void <method-name>()
+
+For an Interceptor, the syntax includes InvocationContext as follows:
+
+* @PostConstruct <any-scope> void <method-name>(InvocationContext)
+* @PreDestroy <any-scope> void <method-name>(InvocationContext)
+* @PrePassivate <any-scope> void <method-name>(InvocationContext)
+* @PostActivate <any-scope> void &ltmethod-name>(InvocationContext)
+
+The AroundInvoke syntax for an EJB or Interceptor is the same:
+
+* @AroundInvoke <any-scope> Object <method-name>(InvocationContext)
+throws Exception
+
+== Stateless
+
+....
+import javax.ejb.Stateless;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+@Stateless
+public class MyStatelessBean implements  MyBusinessInterface  {
+
+    @PostConstruct
+    public void constructed(){
+
+    }
+
+    @PreDestroy
+    public void destroy(){
+
+    }
+
+    @AroundInvoke
+    public Object invoke(InvocationContext invocationContext) throws Exception {
+    return invocationContext.proceed();
+    }
+}
+....
+
+== Stateful
+
+....
+import javax.ejb.Stateful;
+import javax.ejb.PostActivate;
+import javax.ejb.PrePassivate;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+@Stateful
+public class MyStatefulBean implements  MyBusinessInterface  {
+
+    @PostConstruct
+    public void constructed(){
+
+    }
+
+    @PreDestroy
+    public void destroy(){
+
+    }
+
+    @AroundInvoke
+    public Object invoke(InvocationContext invocationContext) throws Exception {
+          return invocationContext.proceed();
+    }
+
+    @PostActivate
+    public void activated(){
+
+    }
+
+    @PrePassivate
+    public void passivate(){
+
+    }
+}
+....
+
+== MessageDriven
+
+....
+import javax.ejb.MessageDriven;
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+@MessageDriven
+public class MyMessageDrivenBean implements  MyListenerInterface  {
+
+    @PostConstruct
+    public void constructed(){
+
+    }
+
+    @PreDestroy
+    public void destroy(){
+
+    }
+
+    @AroundInvoke
+    public Object invoke(InvocationContext invocationContext) throws Exception {
+          return invocationContext.proceed();
+    }
+}
+....
+
+== Interceptor
+
+....
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import javax.interceptor.InvocationContext;
+import javax.interceptor.AroundInvoke;
+import javax.ejb.PostActivate;
+import javax.ejb.PrePassivate;
+
+public class MyInterceptor {
+
+    @PostConstruct
+    public void constructed(InvocationContext invocationContext){
+
+    }
+
+    @PreDestroy
+    public void destroy(InvocationContext invocationContext){
+
+    }
+
+    @AroundInvoke
+    public Object invoke(InvocationContext invocationContext) throws Exception {
+        return invocationContext.proceed();
+    }
+
+    @PostActivate
+    public void activated(InvocationContext invocationContext){
+
+    }
+
+    @PrePassivate
+    public void passivate(InvocationContext invocationContext){
+
+    }
+}
+....

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/callbacks.md
----------------------------------------------------------------------
diff --git a/docs/callbacks.md b/docs/callbacks.md
deleted file mode 100644
index d8016b1..0000000
--- a/docs/callbacks.md
+++ /dev/null
@@ -1,167 +0,0 @@
-index-group=Unrevised
-type=page
-status=published
-title=Callbacks
-~~~~~~
-Correct usage of PostConstruct, PreDestroy, PrePassivate, PostActivate, and
-AroundInvoke for EJBs and Interceptors.
-
-For Stateful, Stateless, and MessageDriven, the syntax is as follows:
-
- - @PostConstruct &lt;any-scope&gt; void &lt;method-name&gt;() 
- - @PreDestroy &lt;any-scope&gt; void &lt;method-name&gt;() 
- - @PrePassivate &lt;any-scope&gt; void &lt;method-name&gt;() 
- - @PostActivate &lt;any-scope&gt; void &lt;method-name&gt;() 
-
-For an Interceptor, the syntax includes InvocationContext as follows:
-
- - @PostConstruct &lt;any-scope&gt; void &lt;method-name&gt;(InvocationContext) 
- - @PreDestroy &lt;any-scope&gt; void &lt;method-name&gt;(InvocationContext) 
- - @PrePassivate &lt;any-scope&gt; void &lt;method-name&gt;(InvocationContext) 
- - @PostActivate &lt;any-scope&gt; void &ltmethod-name&gt;(InvocationContext) 
-
-The AroundInvoke syntax for an EJB or Interceptor is the same:
-
- - @AroundInvoke &lt;any-scope&gt; Object &lt;method-name&gt;(InvocationContext) throws Exception
-
-
-<a name="Callbacks-Stateless"></a>
-## Stateless
-
-
-    import javax.ejb.Stateless;
-    import javax.annotation.PostConstruct;
-    import javax.annotation.PreDestroy;
-    import javax.interceptor.AroundInvoke;
-    import javax.interceptor.InvocationContext;
-    
-    @Stateless
-    public class MyStatelessBean implements  MyBusinessInterface  {
-    
-        @PostConstruct
-        public void constructed(){
-    
-        }
-    
-        @PreDestroy
-        public void destroy(){
-    
-        }
-    
-        @AroundInvoke
-        public Object invoke(InvocationContext invocationContext) throws Exception {
-    	return invocationContext.proceed();
-        }
-    }
-
-
-<a name="Callbacks-Stateful"></a>
-## Stateful
-
-
-    import javax.ejb.Stateful;
-    import javax.ejb.PostActivate;
-    import javax.ejb.PrePassivate;
-    import javax.annotation.PostConstruct;
-    import javax.annotation.PreDestroy;
-    import javax.interceptor.AroundInvoke;
-    import javax.interceptor.InvocationContext;
-    
-    @Stateful
-    public class MyStatefulBean implements	MyBusinessInterface  {
-    
-        @PostConstruct
-        public void constructed(){
-    
-        }
-    
-        @PreDestroy
-        public void destroy(){
-    
-        }
-    
-        @AroundInvoke
-        public Object invoke(InvocationContext invocationContext) throws Exception {
-    	      return invocationContext.proceed();
-        }
-    
-        @PostActivate
-        public void activated(){
-    
-        }
-    
-        @PrePassivate
-        public void passivate(){
-    
-        }
-    }
-
-
-<a name="Callbacks-MessageDriven"></a>
-## MessageDriven
-
-
-    import javax.ejb.MessageDriven;
-    import javax.annotation.PostConstruct;
-    import javax.annotation.PreDestroy;
-    import javax.interceptor.AroundInvoke;
-    import javax.interceptor.InvocationContext;
-    
-    @MessageDriven
-    public class MyMessageDrivenBean implements  MyListenerInterface  {
-    
-        @PostConstruct
-        public void constructed(){
-    
-        }
-    
-        @PreDestroy
-        public void destroy(){
-    
-        }
-    
-        @AroundInvoke
-        public Object invoke(InvocationContext invocationContext) throws Exception {
-    	      return invocationContext.proceed();
-        }
-    }
-
-
-<a name="Callbacks-Interceptor"></a>
-## Interceptor
-
-
-    import javax.annotation.PostConstruct;
-    import javax.annotation.PreDestroy;
-    import javax.interceptor.InvocationContext;
-    import javax.interceptor.AroundInvoke;
-    import javax.ejb.PostActivate;
-    import javax.ejb.PrePassivate;
-    
-    public class MyInterceptor {
-    
-        @PostConstruct
-        public void constructed(InvocationContext invocationContext){
-    
-        }
-    
-        @PreDestroy
-        public void destroy(InvocationContext invocationContext){
-    
-        }
-    
-        @AroundInvoke
-        public Object invoke(InvocationContext invocationContext) throws Exception {
-          	return invocationContext.proceed();
-        }
-    
-        @PostActivate
-        public void activated(InvocationContext invocationContext){
-    
-        }
-    
-        @PrePassivate
-        public void passivate(InvocationContext invocationContext){
-    
-        }
-    }

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/changing-jms-implementations.adoc
----------------------------------------------------------------------
diff --git a/docs/changing-jms-implementations.adoc b/docs/changing-jms-implementations.adoc
new file mode 100644
index 0000000..b1dde18
--- /dev/null
+++ b/docs/changing-jms-implementations.adoc
@@ -0,0 +1,158 @@
+# Changing JMS Implementations
+:index-group: Configuration
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+NOTE: 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.
+
+ActiveMQ is the default JMS provider in Apache TomEE and OpenEJB.
+
+Changing JMS implementation is as simple as using that implementation's
+Java EE Connector. The connector which will be a `.rar` file should be
+bundled with the application in a `.ear` file. All JMS usage in that
+`.ear` will favor the JMS ConnectionFactory and Topic and Queue
+implementations that are configured in the `.rar` file rather than
+ActiveMQ.
+
+If the JMS implementation does not have a `.rar` file, there are still
+some options for wiring in an alternate implementation.
+
+== Generic JMS Resource Adapter
+
+If the JMS implementation does not have a Resource Archive (`.rar` file)
+that defines a compliant Resource Adapter, the
+http://genericjmsra.java.net/[Generic Resource Adapter for JMS] should
+work fine.
+
+To use this Adapter in TomEE or OpenEJB you'll need to create a
+`service-jar.xml` file and include that in a jar file and add it to the
+`<tomee.home>/lib/` directory. Then you can declare `ConnectionFactory`,
+`Topic`, and `Queue` and more via the `tomee.xml` file.
+
+The one below should be considered boiler plate. Updating it to contain
+some useful default values for your JMS implementation would be good.
+These values can be overridden in the `tomee.xml` or `openejb.xml`
+
+Let's say that the following file lives in the jar at
+`META-INF/org.superbiz/service-jar.xml`
+
+....
+<?xml version="1.0" encoding="UTF-8"?>
+<ServiceJar>
+  <ServiceProvider
+      id="genericra"
+      service="Resource"
+      types="GenericJMSRA"
+      class-name="com.sun.genericra.GenericJMSRA">
+          UserName
+          Password
+          ProviderIntegrationMode
+          ConnectionFactoryClassName
+          QueueConnectionFactoryClassName
+          TopicConnectionFactoryClassName
+          XAConnectionFactoryClassName
+          XAQueueConnectionFactoryClassName
+          XATopicConnectionFactoryClassName
+          UnifiedDestinationClassName
+          TopicClassName
+          QueueClassName
+          SupportsXA
+          ConnectionFactoryProperties
+          JndiProperties
+          CommonSetterMethodName
+          RMPolicy
+          LogLevel
+          DeliveryType
+          UseFirstXAForRedelivery
+  </ServiceProvider>
+
+  <ServiceProvider
+      id="ConnectionFactory"
+      service="Resource"
+      types="javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, QueueConnectionFactory, TopicConnectionFactory"
+      class-name="com.sun.genericra.outbound.ManagedJMSConnectionFactory">
+          ConnectionFactoryJndiName
+          ClientId
+          ConnectionValidationEnabled
+          ResourceAdapter
+  </ServiceProvider>
+
+  <ServiceProvider
+      id="Queue"
+      service="Resource"
+      types="javax.jms.Queue, Queue"
+      class-name="com.sun.genericra.outbound.QueueProxy">
+          DestinationJndiName
+          ResourceAdapter
+          UserName
+          Password
+          JndiProperties
+          QueueClassName
+  </ServiceProvider>
+
+  <ServiceProvider
+      id="Topic"
+      service="Resource"
+      types="javax.jms.Topic, Topic"
+      class-name="com.sun.genericra.outbound.TopicProxy">
+          DestinationJndiName
+          ResourceAdapter
+          UserName
+          Password
+          JndiProperties
+          TopicClassName
+  </ServiceProvider>
+</ServiceJar>
+....
+
+It is strongly recommended to not leave the values in the
+service-jar.xml file blank as shown above. It is possible to setup
+several sets of defaults in a `service-jar.xml` or via several
+`service-jar.xml` files.
+
+Once this file is packed in a jar and added to the `<tomee.home>/lib` or
+`<openejb.home>/lib` directory, you can then declare and configure
+"instances" of these things in your `tomee.xml` or `openejb.xml` config
+file as follows:
+
+....
+<Resource id="My Generic Adapter" type="GenericJMSRA" provider="org.superbiz:genericra">
+AdapterProperty1 PropertyValue1
+AdapterProperty2 PropertyValue2
+...
+</Resource>
+....
+
+Or in properties like so:
+
+....
+myGenericAdapter = new://Resource?type=GenericJMSRA&provider=org.superbiz:genericra
+myGenericAdapter.AdapterProperty1 = PropertyValue1
+myGenericAdapter.AdapterProperty2 = PropertyValue2
+....
+
+This is basically the same as all configuration in TomEE/OpenEJB, but
+with the addition that you must specify the `provider` attribute so the
+server knows where to look for the `service-jar.xml` file that defines
+the resource and all its defaults.
+
+In this example:
+
+* the file is `META-INF/org.superbiz/service-jar.xml`
+* so the `provider` attribute is `org.superbiz`
+
+You can use whatever prefix you like for the `provider` id, though for
+obvious reasons we'd advise not using `org.apache.openejb` or
+`org.apache.tomee` in the prefix.

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/changing-jms-implementations.md
----------------------------------------------------------------------
diff --git a/docs/changing-jms-implementations.md b/docs/changing-jms-implementations.md
deleted file mode 100644
index ab95410..0000000
--- a/docs/changing-jms-implementations.md
+++ /dev/null
@@ -1,136 +0,0 @@
-index-group=Configuration
-type=page
-status=published
-title=Changing JMS Implementations
-~~~~~~
-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.
-
-ActiveMQ is the default JMS provider in Apache TomEE and OpenEJB.
-
-Changing JMS implementation is as simple as using that implementation's Java EE Connector.  The connector which will be a `.rar` file should be bundled with the application in a `.ear` 
-file.  All JMS usage in that `.ear` will favor the JMS ConnectionFactory and Topic and Queue implementations
-that are configured in the `.rar` file rather than ActiveMQ.
-
-If the JMS implementation does not have a `.rar` file, there are still some options for wiring in an alternate implementation.
-
-# Generic JMS Resource Adapter
-
-If the JMS implementation does not have a Resource Archive (`.rar` file) that defines a compliant Resource Adapter, the [Generic Resource Adapter for JMS](http://genericjmsra.java.net/) should work fine.
-
-To use this Adapter in TomEE or OpenEJB you'll need to create a `service-jar.xml` file and include that in a jar file and add it to the `<tomee.home>/lib/` directory.
-Then you can declare `ConnectionFactory`, `Topic`, and `Queue` and more via the `tomee.xml` file.
-
-The one below should be considered boiler plate.  Updating it to contain some useful default values for your JMS implementation would be good.  These values can be overridden in the `tomee.xml` or `openejb.xml`
-
-Let's say that the following file lives in the jar at `META-INF/org.superbiz/service-jar.xml`
-
-    <?xml version="1.0" encoding="UTF-8"?>
-    <ServiceJar>
-      <ServiceProvider
-          id="genericra"
-          service="Resource"
-          types="GenericJMSRA"
-          class-name="com.sun.genericra.GenericJMSRA">
-              UserName
-              Password
-              ProviderIntegrationMode
-              ConnectionFactoryClassName
-              QueueConnectionFactoryClassName
-              TopicConnectionFactoryClassName
-              XAConnectionFactoryClassName
-              XAQueueConnectionFactoryClassName
-              XATopicConnectionFactoryClassName
-              UnifiedDestinationClassName
-              TopicClassName
-              QueueClassName
-              SupportsXA
-              ConnectionFactoryProperties
-              JndiProperties
-              CommonSetterMethodName
-              RMPolicy
-              LogLevel
-              DeliveryType
-              UseFirstXAForRedelivery
-      </ServiceProvider>
-    
-      <ServiceProvider
-          id="ConnectionFactory"
-          service="Resource"
-          types="javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory, QueueConnectionFactory, TopicConnectionFactory"
-          class-name="com.sun.genericra.outbound.ManagedJMSConnectionFactory">
-              ConnectionFactoryJndiName
-              ClientId
-              ConnectionValidationEnabled
-              ResourceAdapter
-      </ServiceProvider>
-    
-      <ServiceProvider
-          id="Queue"
-          service="Resource"
-          types="javax.jms.Queue, Queue"
-          class-name="com.sun.genericra.outbound.QueueProxy">
-              DestinationJndiName
-              ResourceAdapter
-              UserName
-              Password
-              JndiProperties
-              QueueClassName
-      </ServiceProvider>
-    
-      <ServiceProvider
-          id="Topic"
-          service="Resource"
-          types="javax.jms.Topic, Topic"
-          class-name="com.sun.genericra.outbound.TopicProxy">
-              DestinationJndiName
-              ResourceAdapter
-              UserName
-              Password
-              JndiProperties
-              TopicClassName
-      </ServiceProvider>
-    </ServiceJar>
-
-It is strongly recommended to not leave the values in the service-jar.xml file blank as shown above.  It is 
-possible to setup several sets of defaults in a `service-jar.xml` or via several `service-jar.xml` files.
-
-Once this file is packed in a jar and added to the `<tomee.home>/lib` or  `<openejb.home>/lib` directory, you can 
-then declare and configure "instances" of these things in your `tomee.xml` or `openejb.xml` config file as follows:
-
-    <Resource id="My Generic Adapter" type="GenericJMSRA" provider="org.superbiz:genericra">
-    AdapterProperty1 PropertyValue1
-    AdapterProperty2 PropertyValue2
-    ...
-    </Resource>
-
-Or in properties like so:
-
-    myGenericAdapter = new://Resource?type=GenericJMSRA&provider=org.superbiz:genericra
-    myGenericAdapter.AdapterProperty1 = PropertyValue1
-    myGenericAdapter.AdapterProperty2 = PropertyValue2
-
-This is basically the same as all configuration in TomEE/OpenEJB, but with the addition that you must 
-specify the `provider` attribute so the server knows where to look for the `service-jar.xml` file that 
-defines the resource and all its defaults.
-
-In this example:
-
- - the file is `META-INF/org.superbiz/service-jar.xml`
- - so the `provider` attribute is `org.superbiz`
-
-You can use whatever prefix you like for the `provider` id, though for obvious reasons we'd advise not using `org.apache.openejb` or `org.apache.tomee` in the prefix.

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/client-server-transports.adoc
----------------------------------------------------------------------
diff --git a/docs/client-server-transports.adoc b/docs/client-server-transports.adoc
new file mode 100644
index 0000000..6106a43
--- /dev/null
+++ b/docs/client-server-transports.adoc
@@ -0,0 +1,39 @@
+# Client-Server Transports 
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+# Client/Server transports
+
+jar
+
+transport description
+
+openejb-ejbd-3.0.jar
+
+provides the 'ejbd' protocol. A binary protocol traveling over a socket
+
+openejb-http-3.0.jar
+
+supports the ejbd protocol over http
+
+openejb-derbynet-3.0.jar
+
+allows for derby to accessed via it's network driver
+
+openejb-hsql-3.0.jar
+
+allows for hsqldb to be accessed via it's network driver
+
+openejb-cxf-3.0.jar
+
+turns on webservice ability, soap/http, via cxf
+
+openejb-activemq-3.0.jar
+
+supports remote jms clients via activemq
+
+openejb-telnet-3.0.jar
+
+allows for connecting to the server via telnet for monitoring

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/client-server-transports.md
----------------------------------------------------------------------
diff --git a/docs/client-server-transports.md b/docs/client-server-transports.md
deleted file mode 100644
index d77c048..0000000
--- a/docs/client-server-transports.md
+++ /dev/null
@@ -1,22 +0,0 @@
-index-group=Unrevised
-type=page
-status=published
-title=Client-Server Transports
-~~~~~~
-<a name="Client-ServerTransports-Client/Servertransports"></a>
-#  Client/Server transports
-
-<table class="mdtable">
-<tr><th> jar </th><th> transport description </th></tr>
-<tr><td> openejb-ejbd-3.0.jar </td><td> provides the 'ejbd' protocol.	A binary protocol
-traveling over a socket </td></tr>
-<tr><td> openejb-http-3.0.jar </td><td> supports the ejbd protocol over http </td></tr>
-<tr><td> openejb-derbynet-3.0.jar </td><td> allows for derby to accessed via it's network
-driver </td></tr>
-<tr><td> openejb-hsql-3.0.jar </td><td> allows for hsqldb to be accessed via it's network
-driver </td></tr>
-<tr><td> openejb-cxf-3.0.jar </td><td> turns on webservice ability, soap/http, via cxf </td></tr>
-<tr><td> openejb-activemq-3.0.jar </td><td> supports remote jms clients via activemq </td></tr>
-<tr><td> openejb-telnet-3.0.jar </td><td> allows for connecting to the server	via telnet
-for monitoring </td></tr>
-</table>

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/clients.adoc
----------------------------------------------------------------------
diff --git a/docs/clients.adoc b/docs/clients.adoc
new file mode 100644
index 0000000..48571ce
--- /dev/null
+++ b/docs/clients.adoc
@@ -0,0 +1,95 @@
+# Clients
+:index-group: Configuration
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+
+=== Local Client (embedded container)
+
+....
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory");
+
+InitialContext ctx = new InitialContext(p);
+
+MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
+....
+
+=== Local Client (non-default realm name)
+
+=== Login configuration file (conf/login.config)
+
+....
+PropertiesLogin {
+    org.apache.openejb.core.security.jaas.PropertiesLoginModule required
+    Debug=true
+    UsersFile="users.properties"
+    GroupsFile="groups.properties";
+};
+MyApp {
+    org.apache.openejb.core.security.jaas.SQLLoginModule required
+    dataSourceName="MyDataSource"
+    userSelect="SELECT username, password FROM users WHERE username=?"
+    groupSelect="SELECT username, grp FROM users WHERE username=?";
+};
+....
+
+=== Code
+
+....
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory");
+p.put("openejb.authentication.realmName", "MyApp");
+
+InitialContext ctx = new InitialContext(p);
+
+MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
+....
+
+=== Remote Client (openejb standalone)
+
+....
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+p.put("java.naming.provider.url", "ejbd://localhost:4201");
+// user and pass optional
+p.put("java.naming.security.principal", "myuser");
+p.put("java.naming.security.credentials", "mypass");
+
+InitialContext ctx = new InitialContext(p);
+
+MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
+....
+
+=== Remote Client with HTTP (openejb standalone)
+
+....
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+p.put("java.naming.provider.url", "http://localhost:4204/ejb");
+// user and pass optional
+p.put("java.naming.security.principal", "myuser");
+p.put("java.naming.security.credentials", "mypass");
+
+InitialContext ctx = new InitialContext(p);
+
+MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
+....
+
+=== Remote Client with HTTP (in TomEE)
+
+....
+Properties p = new Properties();
+p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
+p.put("java.naming.provider.url", "http://127.0.0.1:8080/tomee/ejb");
+// user and pass optional
+p.put("java.naming.security.principal", "myuser");
+p.put("java.naming.security.credentials", "mypass");
+
+InitialContext ctx = new InitialContext(p);
+
+MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
+....
+
+=== Remote Client using @EJB Injection see here: ejb-refs

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/clients.md
----------------------------------------------------------------------
diff --git a/docs/clients.md b/docs/clients.md
deleted file mode 100644
index 19acf6a..0000000
--- a/docs/clients.md
+++ /dev/null
@@ -1,104 +0,0 @@
-index-group=Configuration
-type=page
-status=published
-title=Clients
-~~~~~~
-
-<a name="Clients-LocalClient(embeddedcontainer)"></a>
-###  Local Client (embedded container)
-
-
-    Properties p = new Properties();
-    p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory");
-    
-    InitialContext ctx = new InitialContext(p);
-    
-    MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
-
-
-<a name="Clients-LocalClient(non-defaultrealmname)"></a>
-###  Local Client (non-default realm name)
-
-<a name="Clients-Loginconfigurationfile(conf/login.config)"></a>
-### Login configuration file (conf/login.config)
-
-
-    PropertiesLogin {
-        org.apache.openejb.core.security.jaas.PropertiesLoginModule required
-    	Debug=true
-    	UsersFile="users.properties"
-    	GroupsFile="groups.properties";
-    };
-    MyApp {
-        org.apache.openejb.core.security.jaas.SQLLoginModule required
-    	dataSourceName="MyDataSource"
-    	userSelect="SELECT username, password FROM users WHERE username=?"
-    	groupSelect="SELECT username, grp FROM users WHERE username=?";
-    };
-
-
-<a name="Clients-Programcode"></a>
-### Code
-
-
-    Properties p = new Properties();
-    p.put("java.naming.factory.initial", "org.apache.openejb.client.LocalInitialContextFactory");
-    p.put("openejb.authentication.realmName", "MyApp");
-    
-    InitialContext ctx = new InitialContext(p);
-    
-    MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
-
-
-<a name="Clients-RemoteClient(openejbstandalone)"></a>
-###  Remote Client (openejb standalone)
-
-
-    Properties p = new Properties();
-    p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
-    p.put("java.naming.provider.url", "ejbd://localhost:4201");
-    // user and pass optional
-    p.put("java.naming.security.principal", "myuser");
-    p.put("java.naming.security.credentials", "mypass");
-    
-    InitialContext ctx = new InitialContext(p);
-    
-    MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
-
-
-<a name="Clients-RemoteClientwithHTTP(openejbstandalone)"></a>
-###  Remote Client with HTTP (openejb standalone)
-
-
-    Properties p = new Properties();
-    p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
-    p.put("java.naming.provider.url", "http://localhost:4204/ejb");
-    // user and pass optional
-    p.put("java.naming.security.principal", "myuser");
-    p.put("java.naming.security.credentials", "mypass");
-    
-    InitialContext ctx = new InitialContext(p);
-    
-    MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
-
-
-
-<a name="Clients-RemoteClientwithHTTP(intomcat)"></a>
-###  Remote Client with HTTP (in TomEE)
-
-
-    Properties p = new Properties();
-    p.put("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory");
-    p.put("java.naming.provider.url", "http://127.0.0.1:8080/tomee/ejb");
-    // user and pass optional
-    p.put("java.naming.security.principal", "myuser");
-    p.put("java.naming.security.credentials", "mypass");
-    
-    InitialContext ctx = new InitialContext(p);
-    
-    MyBean myBean = (MyBean) ctx.lookup("MyBeanRemote");
-
-<a name="RemoteClientUsingEjbInjection)"></a>
-### Remote Client using @EJB Injection
-see here:
-<a href="http://tomee.apache.org/ejb-refs.html">ejb-refs</a>

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/cmpentitycontainer-config.adoc
----------------------------------------------------------------------
diff --git a/docs/cmpentitycontainer-config.adoc b/docs/cmpentitycontainer-config.adoc
new file mode 100644
index 0000000..c3aa59a
--- /dev/null
+++ b/docs/cmpentitycontainer-config.adoc
@@ -0,0 +1,51 @@
+# CmpEntityContainer Configuration
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+
+A CmpEntityContainer can be declared via xml in the
+`<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file
+using a declaration like the following. All properties in the element
+body are optional.
+
+....
+<Container id="myCmpEntityContainer" type="CMP_ENTITY">
+    cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
+</Container>
+....
+
+Alternatively, a CmpEntityContainer can be declared via properties in
+the `<tomee-home>/conf/system.properties` file or via Java
+VirtualMachine `-D` properties. The properties can also be used when
+embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or
+`InitialContext`
+
+....
+myCmpEntityContainer = new://Container?type=CMP_ENTITY
+myCmpEntityContainer.cmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
+....
+
+Properties and xml can be mixed. Properties will override the xml
+allowing for easy configuration change without the need for $\{} style
+variable substitution. Properties are not case sensitive. If a property
+is specified that is not supported by the declared CmpEntityContainer a
+warning will be logged. If a CmpEntityContainer is needed by the
+application and one is not declared, TomEE will create one dynamically
+using default settings. Multiple CmpEntityContainer declarations are
+allowed. # Supported Properties
+
+Property
+
+Type
+
+Default
+
+Description
+
+cmpEngineFactory
+
+String
+
+org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory

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

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/collapsed-ear.adoc
----------------------------------------------------------------------
diff --git a/docs/collapsed-ear.adoc b/docs/collapsed-ear.adoc
new file mode 100644
index 0000000..8e003ad
--- /dev/null
+++ b/docs/collapsed-ear.adoc
@@ -0,0 +1,49 @@
+# Collapsed EAR 
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+# One archive
+
+The basic idea of this approach is that your Servlets and EJBs are
+together in your WAR file as one app.
+
+* No classloader boundries between Servlets and EJBs
+* EJBs and Servlets can share all third-party libraries (like Spring!) -
+no EAR required.
+* Can put the web.xml and ejb-jar.xml in the same archive (the WAR
+file).
+* EJBs can see Servlet classes and vice versa.
+
+# Not quite J2EE (it is truly Java EE6)
+
+This is very different than J2EE or Java EE 5 as there aren't several
+levels of separation and classloader hierarchy. This is going to take
+some getting used to and it should be understood that this style of
+packaging isn't J2EE compliant. Who would care tough as it is a feature
+of Java EE 6 we would've been waiting for so long.
+
+J2EE classloading rules:
+
+* You cannot ever have EJBs and servlets in the same classloader.
+* Three classloader minimum; a classloader for the ear, one for each
+ejb-jar, and one for each WAR file.
+* Servlets can see EJBs, but EJBs cannot see servlets.
+
+To pull that off, J2EE has to kill you on packaging: * You cannot have
+EJB classes and Servlet classes in the same archive. * You need at least
+three archives to combine servlets and ejbs; 1 EAR containing 1 EJB jar
+and 1 servlet WAR. * Shared libraries must go in the EAR and be included
+in a specially formatted 'Class-Path' entry in the EAR's MANIFEST file.
+
+Critically speaking, forcing more than one classloader on an application
+is where J2EE "jumps the shark" for a large majority of people's needs.
+
+# Example with Tomcat
+
+If you want to try to work with Servlets/JSP and OpenEJB using Tomcat,
+see the openejbx30:tomcat.html[setup page] and the
+"/webapps/ejb-examples" section of the
+link:downloads.html[openejb-examples.zip] available on the
+http://tomee.apache.org/downloads.html[download page].

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/collapsed-ear.md
----------------------------------------------------------------------
diff --git a/docs/collapsed-ear.md b/docs/collapsed-ear.md
deleted file mode 100644
index a481a4c..0000000
--- a/docs/collapsed-ear.md
+++ /dev/null
@@ -1,46 +0,0 @@
-index-group=Unrevised
-type=page
-status=published
-title=Collapsed EAR
-~~~~~~
-<a name="CollapsedEAR-Onearchive"></a>
-# One archive
-
-The basic idea of this approach is that your Servlets and EJBs are together
-in your WAR file as one app.
-
-* No classloader boundries between Servlets and EJBs
-* EJBs and Servlets can share all third-party libraries (like Spring\!) - no EAR required.
-* Can put the web.xml and ejb-jar.xml in the same archive (the WAR file).
-* EJBs can see Servlet classes and vice versa.
-
-<a name="CollapsedEAR-NotquiteJ2EE(itistrulyJava EE6)"></a>
-# Not quite J2EE (it is truly Java EE6)
-
-This is very different than J2EE or Java EE 5 as there aren't several
-levels of separation and classloader hierarchy.  This is going to take some
-getting used to and it should be understood that this style of packaging
-isn't J2EE compliant. Who would care tough as it is a feature of Java EE 6
-we would've been waiting for so long.
-
- J2EE classloading rules:
-
-* You cannot ever have EJBs and servlets in the same classloader.
-* Three classloader minimum; a classloader for the ear, one for each ejb-jar, and one for each WAR file.
-* Servlets can see EJBs, but EJBs cannot see servlets.
-
- To pull that off, J2EE has to kill you on packaging:
-* You cannot have EJB classes and Servlet classes in the same archive.
-* You need at least three archives to combine servlets and ejbs; 1 EAR containing 1 EJB jar and 1 servlet WAR.
-* Shared libraries must go in the EAR and be included in a specially formatted 'Class-Path' entry in the EAR's MANIFEST file.
-
- Critically speaking, forcing more than one classloader on an application
-is where J2EE "jumps the shark" for a large majority of people's needs.
-
-<a name="CollapsedEAR-ExamplewithTomcat"></a>
-# Example with Tomcat
-
-If you want to try to work with Servlets/JSP and OpenEJB using Tomcat, see
-the [setup page](openejbx30:tomcat.html)
- and the "/webapps/ejb-examples" section of the [openejb-examples.zip](downloads.html)
- available on the [download page](http://tomee.apache.org/downloads.html).

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/common-datasource-configurations.adoc
----------------------------------------------------------------------
diff --git a/docs/common-datasource-configurations.adoc b/docs/common-datasource-configurations.adoc
new file mode 100644
index 0000000..872b9cd
--- /dev/null
+++ b/docs/common-datasource-configurations.adoc
@@ -0,0 +1,116 @@
+# Common DataSource Configurations
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+
+See the link:datasource-config.html[DataSource Configuration] for
+details on all configuration options for DataSources.
+
+== HSQLDB
+
+The drivers are included with OpenEJB 3.0 and HSQLDB is the default
+database.
+
+....
+<Resource id="HSQLDB Database" type="DataSource">
+    JdbcDriver org.hsqldb.jdbcDriver
+    JdbcUrl jdbc:hsqldb:file:hsqldb
+    UserName sa
+    Password
+</Resource>
+....
+
+== Derby (Embedded)
+
+....
+<Resource id="Derby Database" type="DataSource">
+    #Embedded Derby example
+
+    JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
+    JdbcUrl jdbc:derby:derbyDB;create=true
+    UserName admin
+    Password pass
+</Resource>
+....
+
+== MySQL
+
+....
+<Resource id="MySQL Database" type="DataSource">
+    #  MySQL example
+    #
+    #  This connector will not work until you download the driver at:
+    #  http://www.mysql.com/downloads/api-jdbc-stable.html
+
+    JdbcDriver  com.mysql.jdbc.Driver
+    JdbcUrl jdbc:mysql://localhost/test
+    UserName    test
+</Resource>
+....
+
+== Oracle
+
+....
+<Resource id="Oracle Database" type="DataSource">
+    #  Oracle example
+    #
+    #  This connector will not work until you download the driver at:
+    #  http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html
+    JdbcDriver  oracle.jdbc.OracleDriver
+    JdbcUrl jdbc:oracle:thin:@localhost:1521:orcl
+    UserName    scott
+    Password    tiger
+</Resource>
+....
+
+== OracleXA
+
+....
+<Resource id="OracleXA Database" type="DataSource">
+    #  OracleXA example
+    #
+    #  This connector will not work until you download the driver at:
+    #  http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html
+    JdbcDriver  oracle.jdbc.xa.client.OracleXADataSource
+    JdbcUrl jdbc:oracle:thin:@localhost:1521:orcl
+    UserName    scott
+    Password    tiger
+</Resource>
+....
+
+== PosgreSQL
+
+....
+<Resource id="PostgreSQL Database" type="DataSource">
+    #  PostgreSQL example
+    #
+    #  This connector will not work until you download the driver at:
+    #  http://jdbc.postgresql.org/download.html
+    JdbcDriver   org.postgresql.Driver
+    JdbcUrl  jdbc:postgresql://localhost/test
+    UserName     postgres
+    Password     pass
+</Resource>
+....
+
+== InstantDB
+
+....
+<Resource id="InstantDB Database" type="DataSource">
+    #  InstantDB example
+    #
+    JdbcDriver   org.enhydra.instantdb.jdbc.idbDriver
+    JdbcUrl  jdbc:idb:conf/instantdb.properties
+    UserName     Admin
+    Password     pass
+</Resource>
+....
+
+Internally, from TomEE 1.5.0, JDBC pools are managed via Tomcat-pool.
+You can still switch back to Apache Commons DBCP by adding the following
+property: DataSourceCreator dbcp. To get the full list of available
+configuration properties, have a look to
+http://commons.apache.org/dbcp/configuration.html[Apache Commons DBCP
+configuration].

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/common-datasource-configurations.md
----------------------------------------------------------------------
diff --git a/docs/common-datasource-configurations.md b/docs/common-datasource-configurations.md
deleted file mode 100644
index 64aa60e..0000000
--- a/docs/common-datasource-configurations.md
+++ /dev/null
@@ -1,115 +0,0 @@
-index-group=Configuration
-type=page
-status=published
-title=Common DataSource Configurations
-~~~~~~
-
-See the [DataSource Configuration](datasource-config.html) for details on all configuration options for DataSources.
-
-<a name="CommonDataSourceConfigurations-HSQLDB"></a>
-## HSQLDB
-
-The drivers are included with OpenEJB 3.0 and HSQLDB is the default
-database.
-
-    <Resource id="HSQLDB Database" type="DataSource">
-        JdbcDriver org.hsqldb.jdbcDriver
-        JdbcUrl jdbc:hsqldb:file:hsqldb
-        UserName sa
-        Password
-    </Resource>
-
-
-<a name="CommonDataSourceConfigurations-Derby(Embedded)"></a>
-## Derby (Embedded)
-
-
-    <Resource id="Derby Database" type="DataSource">
-        #Embedded Derby example
-    
-        JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
-        JdbcUrl jdbc:derby:derbyDB;create=true
-        UserName admin
-        Password pass
-    </Resource>
-
-
-<a name="CommonDataSourceConfigurations-MySQL"></a>
-## MySQL
-
-
-    <Resource id="MySQL Database" type="DataSource">
-        #  MySQL example
-        #
-        #  This connector will not work until you download the driver at:
-        #  http://www.mysql.com/downloads/api-jdbc-stable.html
-    
-        JdbcDriver	com.mysql.jdbc.Driver
-        JdbcUrl	jdbc:mysql://localhost/test
-        UserName	test
-    </Resource>
-
-
-<a name="CommonDataSourceConfigurations-Oracle"></a>
-## Oracle
-
-
-    <Resource id="Oracle Database" type="DataSource">
-        #  Oracle example
-        #
-        #  This connector will not work until you download the driver at:
-        #  http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html
-        JdbcDriver	oracle.jdbc.OracleDriver
-        JdbcUrl	jdbc:oracle:thin:@localhost:1521:orcl
-        UserName	scott
-        Password	tiger
-    </Resource>
-
-<a name="CommonDataSourceConfigurations-OracleXA"></a>
-## OracleXA
-
-
-    <Resource id="OracleXA Database" type="DataSource">
-        #  OracleXA example
-        #
-        #  This connector will not work until you download the driver at:
-        #  http://otn.oracle.com/software/tech/java/sqlj_jdbc/content.html
-        JdbcDriver	oracle.jdbc.xa.client.OracleXADataSource
-        JdbcUrl	jdbc:oracle:thin:@localhost:1521:orcl
-        UserName	scott
-        Password	tiger
-    </Resource>
-
-<a name="CommonDataSourceConfigurations-PosgreSQL"></a>
-## PosgreSQL
-
-
-    <Resource id="PostgreSQL Database" type="DataSource">
-        #  PostgreSQL example
-        #
-        #  This connector will not work until you download the driver at:
-        #  http://jdbc.postgresql.org/download.html
-        JdbcDriver	 org.postgresql.Driver
-        JdbcUrl	 jdbc:postgresql://localhost/test
-        UserName	 postgres
-        Password	 pass
-    </Resource>
-
-
-<a name="CommonDataSourceConfigurations-InstantDB"></a>
-## InstantDB
-
-
-    <Resource id="InstantDB Database" type="DataSource">
-        #  InstantDB example
-        #
-        JdbcDriver	 org.enhydra.instantdb.jdbc.idbDriver
-        JdbcUrl	 jdbc:idb:conf/instantdb.properties
-        UserName	 Admin
-        Password	 pass
-    </Resource>
-
-
-
-Internally, from TomEE 1.5.0, JDBC pools are managed via Tomcat-pool. You can still switch back to Apache Commons DBCP by adding the following property: DataSourceCreator dbcp.  To
-get the full list of available configuration properties, have a look to [Apache Commons DBCP configuration](http://commons.apache.org/dbcp/configuration.html).

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/common-errors.adoc
----------------------------------------------------------------------
diff --git a/docs/common-errors.adoc b/docs/common-errors.adoc
new file mode 100644
index 0000000..8eda5b6
--- /dev/null
+++ b/docs/common-errors.adoc
@@ -0,0 +1,31 @@
+# Common Errors
+:index-group: Unrevised
+:jbake-date: 2018-12-05
+:jbake-type: page
+:jbake-status: published
+
+
+<a name="CommonErrors-Cannotfindcontainer"FOO"forbean"BAR""> # Cannot
+find container "FOO" for bean "BAR"
+
+When a bean gets deployed in OpenEJB, it gets associated with a
+particular container. Subsequently, that container may not be configured
+in that instance of the server. When the server loads the Jar with the
+deployed beans, it places beans in the containers that the beans were
+configured with. Here, the bean BAR wants to go into the container FOO,
+which is not currently configured.
+
+This message is displayed when the server is starting up. <a
+name="CommonErrors-Cannotfindbean"FOO"referencedbybean"BAR"."> # Cannot
+find bean "FOO" referenced by bean "BAR".
+
+When a bean gets deployed in OpenEJB, it may contain references to other
+beans. Subsequently, those beans may not be configured in that instance
+of the server. When the server loads the Jar with the deployed beans, it
+stores those references to those beans. Here, the bean BAR references
+FOO, which is not currently configured in the JNDI namespace.
+
+This message is displayed when the server is starting up.
+
+This message is usally the result of a deployment descriptor that has
+been created by hand.

http://git-wip-us.apache.org/repos/asf/tomee/blob/d380ec18/docs/common-errors.md
----------------------------------------------------------------------
diff --git a/docs/common-errors.md b/docs/common-errors.md
deleted file mode 100644
index dbf992b..0000000
--- a/docs/common-errors.md
+++ /dev/null
@@ -1,30 +0,0 @@
-index-group=Unrevised
-type=page
-status=published
-title=Common Errors
-~~~~~~
-
-<a name="CommonErrors-Cannotfindcontainer"FOO"forbean"BAR""></a>
-# Cannot find container "FOO" for bean "BAR"
-
-When a bean gets deployed in OpenEJB, it gets associated with a particular
-container. Subsequently, that container may not be configured in that
-instance of the server. When the server loads the Jar with the deployed
-beans, it places beans in the containers that the beans were configured
-with. Here, the bean BAR wants to go into the container FOO, which is not
-currently configured.
-
-This message is displayed when the server is starting up.
-<a name="CommonErrors-Cannotfindbean"FOO"referencedbybean"BAR"."></a>
-# Cannot find bean "FOO" referenced by bean "BAR".
-
-When a bean gets deployed in OpenEJB, it may contain references to other
-beans. Subsequently, those beans may not be configured in that instance of
-the server. When the server loads the Jar with the deployed beans, it
-stores those references to those beans. Here, the bean BAR references FOO,
-which is not currently configured in the JNDI namespace.
-
-This message is displayed when the server is starting up.
-
-This message is usally the result of a deployment descriptor that has been
-created by hand.