Merge pull request #751 from Daniel-Dos/TOMEE-2927

TOMEE-2927 Translate to Portuguese: examples/serverless-tomee-mp
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..ae7e40a
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,39 @@
+# 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.
+
+github:
+  description: "Apache TomEE"
+  homepage: https://tomee.apache.org/
+  labels:
+    - jakarta-ee
+    - microprofile
+    - network-server
+    - java
+    - tomee
+
+  features:
+    wiki: false
+    issues: false
+    projects: false
+  enabled_merge_buttons:
+    squash:  true
+    merge:   true
+    rebase:  true
+notifications:
+  commits:      commits@tomee.apache.org
+  issues:       dev@tomee.apache.org
+  pullrequests: dev@tomee.apache.org
+  jira_options: link worklog
\ No newline at end of file
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index fe929e3..b3fd699 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1,4 +1,4 @@
-name: CI
+name: CI Master
 
 on:
   push:
@@ -11,19 +11,15 @@
 
 jobs:
   build:
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-latest
 
     steps:
     - uses: actions/checkout@v2
-        
     - name: Set up JDK 1.8
-      uses: joschi/setup-jdk@v2
+      uses: actions/setup-java@v1
       with:
         java-version: '8'
 
-    - name: Create tmp dirs
-      run: mkdir -p /tmp/tomee-trunk-ubuntu-jvm8
-
     - name: Cache Maven packages
       uses: actions/cache@v2
       with:
@@ -31,19 +27,12 @@
         key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
         restore-keys: ${{ runner.os }}-m2
 
-    - name: Checkstyle
-      run: mvn help:system checkstyle:check -Pstyle
-      env:
-        MAVEN_OPTS: -Xmx1536m
+    - name: maven-settings-xml-action
+      run: echo "<settings xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd\"> <activeProfiles> <activeProfile>github</activeProfile> </activeProfiles> <profiles> <profile> <id>github</id> <repositories> <repository> <id>central-repo</id> <url>https://repo.maven.apache.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central-plugin-repository</id> <url>https://repo.maven.apache.org/maven2</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <servers/> <mirrors/> <pluginGroups/> </settings>" > ~/.m2/settings.xml
 
-    - name: Pmd
-      run: mvn help:system pmd:check -Pstyle
+    - name: Compile with Sanity checks
+      run: mvn help:system -U --show-version --fail-at-end clean install -DfailIfNoTests=false -DskipTests -Pstyle,rat
       env:
-        MAVEN_OPTS: -Xmx1536m
-
-    - name: Compile
-      run: mvn help:system -e --show-version --update-snapshots --fail-at-end -Djava.io.tmpdir=/tmp/tomee-trunk-ubuntu-jvm8 clean install -DfailIfNoTests=false -DskipTests
-      env:
-        MAVEN_OPTS: -Xmx1536m
+        MAVEN_OPTS: -Xmx2048m
 
 
diff --git a/arquillian/arquillian-common/pom.xml b/arquillian/arquillian-common/pom.xml
index 04c0ff6..b52e419 100644
--- a/arquillian/arquillian-common/pom.xml
+++ b/arquillian/arquillian-common/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-common</artifactId>
diff --git a/arquillian/arquillian-openejb-embedded/pom.xml b/arquillian/arquillian-openejb-embedded/pom.xml
index 26efb58..3d33af9 100644
--- a/arquillian/arquillian-openejb-embedded/pom.xml
+++ b/arquillian/arquillian-openejb-embedded/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/arquillian/arquillian-openejb-transaction-provider/pom.xml b/arquillian/arquillian-openejb-transaction-provider/pom.xml
index c866cbf..cac43e2 100644
--- a/arquillian/arquillian-openejb-transaction-provider/pom.xml
+++ b/arquillian/arquillian-openejb-transaction-provider/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/arquillian/arquillian-tck/pom.xml b/arquillian/arquillian-tck/pom.xml
index b47ea57..e7c09c7 100644
--- a/arquillian/arquillian-tck/pom.xml
+++ b/arquillian/arquillian-tck/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tck</artifactId>
diff --git a/arquillian/arquillian-tomee-common/pom.xml b/arquillian/arquillian-tomee-common/pom.xml
index 8c2670d..9c377cf 100644
--- a/arquillian/arquillian-tomee-common/pom.xml
+++ b/arquillian/arquillian-tomee-common/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>arquillian-tomee-common</artifactId>
   <packaging>jar</packaging>
diff --git a/arquillian/arquillian-tomee-embedded/pom.xml b/arquillian/arquillian-tomee-embedded/pom.xml
index a4d4cf2..63d63bf 100644
--- a/arquillian/arquillian-tomee-embedded/pom.xml
+++ b/arquillian/arquillian-tomee-embedded/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>arquillian-tomee-embedded</artifactId>
   <packaging>jar</packaging>
diff --git a/arquillian/arquillian-tomee-moviefun-example/pom.xml b/arquillian/arquillian-tomee-moviefun-example/pom.xml
index 491c064..dd5776d 100644
--- a/arquillian/arquillian-tomee-moviefun-example/pom.xml
+++ b/arquillian/arquillian-tomee-moviefun-example/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>arquillian</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>arquillian-tomee-moviefun-example</artifactId>
   <packaging>war</packaging>
diff --git a/arquillian/arquillian-tomee-remote/pom.xml b/arquillian/arquillian-tomee-remote/pom.xml
index 4049406..7dd38e8 100644
--- a/arquillian/arquillian-tomee-remote/pom.xml
+++ b/arquillian/arquillian-tomee-remote/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>arquillian-tomee-remote</artifactId>
   <packaging>jar</packaging>
@@ -95,7 +95,7 @@
       <groupId>${project.groupId}</groupId>
       <artifactId>apache-tomee</artifactId>
       <type>zip</type>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <classifier>webprofile</classifier>
       <scope>provided</scope>
     </dependency>
@@ -124,7 +124,7 @@
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>arquillian-tomee-common</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>jar</type>
       <scope>compile</scope>
     </dependency>
@@ -151,7 +151,7 @@
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>arquillian-common</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
 
     <dependency>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-codi-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-codi-tests/pom.xml
index d478896..f2e6d24 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-codi-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-codi-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-codi-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-config-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-config-tests/pom.xml
index 57ae450..c7d0b2e 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-config-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-config-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-config-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/pom.xml
index 96cf4be..fc46e1d 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-jaxrs-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/resources/org/apache/openejb/arquillian/tests/jaxrs/servlets/ok.html b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/resources/org/apache/openejb/arquillian/tests/jaxrs/servlets/ok.html
index c7be294..fc1632e 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/resources/org/apache/openejb/arquillian/tests/jaxrs/servlets/ok.html
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/resources/org/apache/openejb/arquillian/tests/jaxrs/servlets/ok.html
@@ -1 +1,17 @@
+<!--
+  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.
+-->
 <html><body>ok!</body></html>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/pom.xml
index f0194d2..6649f84 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxws-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-jaxws-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/pom.xml
index 68ffb5a..88f6d85 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-jms-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/pom.xml b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/pom.xml
index d08fbe4..aacebdd 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian-tomee-tests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-webprofile-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/jsp/test.jsp b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/jsp/test.jsp
index 05ab5a2..7ce61e3 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/jsp/test.jsp
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/resources/org/apache/openejb/arquillian/tests/jsp/test.jsp
@@ -1,3 +1,19 @@
+<%--
+  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.
+--%>
 <%@ page import="javax.naming.InitialContext"%><%@ page import="java.util.Properties"%><%@ page import="javax.naming.Context"%><%@ page import="org.apache.openejb.arquillian.tests.jsp.DataBusinessHome"%><%@ page import="javax.rmi.PortableRemoteObject"%><%@ page import="org.apache.openejb.arquillian.tests.jsp.DataBusiness"%><%@ page import="org.apache.openejb.arquillian.tests.jsp.Data"%><%@ page contentType="text/plain;charset=UTF-8" language="java" %>
 <%
 
diff --git a/arquillian/arquillian-tomee-tests/pom.xml b/arquillian/arquillian-tomee-tests/pom.xml
index 63dc2e8..f95e596 100644
--- a/arquillian/arquillian-tomee-tests/pom.xml
+++ b/arquillian/arquillian-tomee-tests/pom.xml
@@ -16,7 +16,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   
   <artifactId>arquillian-tomee-tests</artifactId>
diff --git a/arquillian/arquillian-tomee-webapp-remote/pom.xml b/arquillian/arquillian-tomee-webapp-remote/pom.xml
index 28fc38d..0c174d3 100644
--- a/arquillian/arquillian-tomee-webapp-remote/pom.xml
+++ b/arquillian/arquillian-tomee-webapp-remote/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian-tomee-webapp-remote</artifactId>
@@ -252,10 +252,6 @@
           <groupId>${project.groupId}</groupId>
         </exclusion>
         <exclusion>
-          <artifactId>openejb-bval</artifactId>
-          <groupId>org.apache.openejb.patch</groupId>
-        </exclusion>
-        <exclusion>
           <artifactId>mbean-annotation-api</artifactId>
           <groupId>${project.groupId}</groupId>
         </exclusion>
diff --git a/arquillian/pom.xml b/arquillian/pom.xml
index d77a070..60f61dd 100644
--- a/arquillian/pom.xml
+++ b/arquillian/pom.xml
@@ -22,11 +22,11 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>arquillian</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>TomEE :: Arquillian Adaptors Parent</name>
 
diff --git a/arquillian/ziplock/pom.xml b/arquillian/ziplock/pom.xml
index 5512195..9f96852 100644
--- a/arquillian/ziplock/pom.xml
+++ b/arquillian/ziplock/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>arquillian</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>ziplock</artifactId>
@@ -66,5 +66,11 @@
       <version>${version.shrinkwrap.shrinkwrap}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>1.7.21</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>
diff --git a/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/MvnTest.java b/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/MvnTest.java
index 5f9c206..f96ac3e 100644
--- a/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/MvnTest.java
+++ b/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/MvnTest.java
@@ -27,6 +27,7 @@
     @Test
     public void main() {
         final Archive<?> war = Mvn.war();
+        System.out.println(war.toString(true));
         assertTrue(war.get("/WEB-INF/classes/org/apache/ziplock/maven/Mvn.class") != null);
         assertTrue(war.getContent(new Filter<ArchivePath>() {
             @Override
@@ -45,6 +46,7 @@
     @Test
     public void test() {
         final Archive<?> war = Mvn.testWar();
+        System.out.println(war.toString(true));
         assertTrue(war.get("/WEB-INF/classes/org/apache/ziplock/maven/Mvn.class") != null);
         assertTrue(war.getContent(new Filter<ArchivePath>() {
             @Override
diff --git a/assembly/openejb-lite/pom.xml b/assembly/openejb-lite/pom.xml
index 87503fd..e2199d6 100644
--- a/assembly/openejb-lite/pom.xml
+++ b/assembly/openejb-lite/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>assembly</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-lite</artifactId>
diff --git a/assembly/openejb-standalone/pom.xml b/assembly/openejb-standalone/pom.xml
index a6addd7..4e44b0f 100644
--- a/assembly/openejb-standalone/pom.xml
+++ b/assembly/openejb-standalone/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>assembly</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-standalone</artifactId>
@@ -84,15 +84,6 @@
         </executions>
       </plugin>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/DATA-README.txt</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
         <executions>
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 3ed19c2..53119bf 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>assembly</artifactId>
diff --git a/boms/jaxb-runtime/pom.xml b/boms/jaxb-runtime/pom.xml
index 3c77896..e1dfd71 100644
--- a/boms/jaxb-runtime/pom.xml
+++ b/boms/jaxb-runtime/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/boms/pom.xml b/boms/pom.xml
index bb1d29d..bf0df3a 100644
--- a/boms/pom.xml
+++ b/boms/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/boms/tomee-microprofile/pom.xml b/boms/tomee-microprofile/pom.xml
index 9524f1d..e30d18a 100644
--- a/boms/tomee-microprofile/pom.xml
+++ b/boms/tomee-microprofile/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -43,12 +43,12 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-bootstrap</artifactId>
-      <version>${project.version}</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-yaml</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -169,7 +169,7 @@
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.14</version>
+      <version>1.15</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -279,7 +279,7 @@
     <dependency>
       <groupId>org.apache.bval</groupId>
       <artifactId>bval-jsr</artifactId>
-      <version>2.0.3</version>
+      <version>2.0.5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -290,7 +290,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-collections4</artifactId>
-      <version>4.3</version>
+      <version>4.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -312,7 +312,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>3.8.1</version>
+      <version>3.11</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -334,7 +334,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-core</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -345,7 +345,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-soap</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -356,7 +356,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-xml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -367,7 +367,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-databinding-jaxb</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -378,7 +378,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -389,7 +389,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxws</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -400,7 +400,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-simple</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -411,7 +411,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-management</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -422,7 +422,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -433,7 +433,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-providers</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -444,7 +444,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-search</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -455,7 +455,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-json-basic</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -466,7 +466,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-mp-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -477,7 +477,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-cors</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -488,7 +488,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -499,7 +499,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -510,7 +510,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -521,7 +521,18 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-service-description</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-sse</artifactId>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -532,7 +543,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -543,7 +554,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security-saml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -554,7 +565,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -565,7 +576,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-addr</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -576,7 +587,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-policy</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -587,7 +598,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -598,7 +609,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-wsdl</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -719,7 +730,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -730,7 +741,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jaxrs</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -741,7 +752,18 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonp-strict</artifactId>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -752,7 +774,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-mapper</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -763,7 +785,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-api</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -774,7 +796,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-impl</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -796,7 +818,7 @@
     <dependency>
       <groupId>org.apache.openejb.shade</groupId>
       <artifactId>quartz-openejb-shade</artifactId>
-      <version>2.2.1</version>
+      <version>2.2.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -807,7 +829,7 @@
     <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa</artifactId>
-      <version>3.1.0</version>
+      <version>3.1.2</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -915,39 +937,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-impl</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-spec</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-api</artifactId>
       <version>${tomcat.version}</version>
@@ -1170,7 +1159,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>javaee-api</artifactId>
-      <version>8.0-4</version>
+      <version>8.0-5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -1400,6 +1389,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-catalina</artifactId>
       <version>${project.version}</version>
       <exclusions>
@@ -1620,6 +1620,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm8-shaded</artifactId>
+      <version>4.17</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
       <artifactId>xbean-bundleutils</artifactId>
       <version>4.14</version>
       <exclusions>
@@ -2092,9 +2103,20 @@
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>org.tomitribe.quartz</groupId>
+      <artifactId>quartz</artifactId>
+      <version>2.2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
       <groupId>org.yaml</groupId>
       <artifactId>snakeyaml</artifactId>
-      <version>1.24</version>
+      <version>1.27</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
diff --git a/boms/tomee-microprofile/src/main/resources/tomee/conf/system.properties b/boms/tomee-microprofile/src/main/resources/tomee/conf/system.properties
index cdf5327..71c4983 100644
--- a/boms/tomee-microprofile/src/main/resources/tomee/conf/system.properties
+++ b/boms/tomee-microprofile/src/main/resources/tomee/conf/system.properties
@@ -1,3 +1,18 @@
+# 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.
+
 # all this properties are added at JVM system properties at startup
 # here some default Apache TomEE system properties
 # for more information please see http://tomee.apache.org/properties-listing.html
diff --git a/boms/tomee-microprofile/src/main/resources/tomee/conf/tomee.xml b/boms/tomee-microprofile/src/main/resources/tomee/conf/tomee.xml
index 4f25bb2..737643f 100644
--- a/boms/tomee-microprofile/src/main/resources/tomee/conf/tomee.xml
+++ b/boms/tomee-microprofile/src/main/resources/tomee/conf/tomee.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
 <tomee>
   <!-- see http://tomee.apache.org/containers-and-resources.html -->
 
diff --git a/boms/tomee-plume/pom.xml b/boms/tomee-plume/pom.xml
index 093b5a7..03b35ff 100644
--- a/boms/tomee-plume/pom.xml
+++ b/boms/tomee-plume/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -43,12 +43,12 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-bootstrap</artifactId>
-      <version>${project.version}</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-yaml</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -169,7 +169,7 @@
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.14</version>
+      <version>1.15</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -290,7 +290,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-broker</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -301,7 +301,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-client</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -312,7 +312,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-jdbc-store</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -323,7 +323,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-kahadb-store</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -334,7 +334,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-openwire-legacy</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -345,7 +345,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-ra</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -356,7 +356,7 @@
     <dependency>
       <groupId>org.apache.bval</groupId>
       <artifactId>bval-jsr</artifactId>
-      <version>2.0.3</version>
+      <version>2.0.5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -367,7 +367,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-collections4</artifactId>
-      <version>4.3</version>
+      <version>4.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -389,7 +389,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>3.8.1</version>
+      <version>3.11</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -411,7 +411,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-core</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -422,7 +422,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-soap</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -433,7 +433,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-xml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -444,7 +444,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-databinding-jaxb</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -455,7 +455,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -466,7 +466,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxws</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -477,7 +477,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-simple</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -488,7 +488,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-management</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -499,7 +499,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -510,7 +510,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-providers</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -521,7 +521,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-search</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -532,7 +532,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-json-basic</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -543,7 +543,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-mp-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -554,7 +554,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-cors</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -565,7 +565,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -576,7 +576,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -587,7 +587,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -598,7 +598,18 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-service-description</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-sse</artifactId>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -609,7 +620,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -620,7 +631,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security-saml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -631,7 +642,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -642,7 +653,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-addr</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -653,7 +664,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-policy</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -664,7 +675,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -675,7 +686,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-wsdl</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -718,8 +729,8 @@
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.javamail</groupId>
-      <artifactId>geronimo-javamail_1.4_mail</artifactId>
-      <version>1.9.0-alpha-2</version>
+      <artifactId>geronimo-javamail_1.6_mail</artifactId>
+      <version>1.0.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -807,7 +818,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -818,7 +829,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jaxrs</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -829,7 +840,18 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonp-strict</artifactId>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -840,7 +862,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-mapper</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -862,7 +884,7 @@
     <dependency>
       <groupId>org.apache.openejb.shade</groupId>
       <artifactId>quartz-openejb-shade</artifactId>
-      <version>2.2.1</version>
+      <version>2.2.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -873,7 +895,7 @@
     <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa</artifactId>
-      <version>3.1.0</version>
+      <version>3.1.2</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -981,39 +1003,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-impl</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-spec</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-api</artifactId>
       <version>${tomcat.version}</version>
@@ -1236,7 +1225,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>javaee-api</artifactId>
-      <version>8.0-4</version>
+      <version>8.0-5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -1477,6 +1466,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-catalina</artifactId>
       <version>${project.version}</version>
       <exclusions>
@@ -1686,6 +1686,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm8-shaded</artifactId>
+      <version>4.17</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
       <artifactId>xbean-bundleutils</artifactId>
       <version>4.14</version>
       <exclusions>
@@ -1896,7 +1907,7 @@
     <dependency>
       <groupId>org.eclipse.persistence</groupId>
       <artifactId>eclipselink</artifactId>
-      <version>2.7.4</version>
+      <version>2.7.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -2202,9 +2213,20 @@
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>org.tomitribe.quartz</groupId>
+      <artifactId>quartz</artifactId>
+      <version>2.2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
       <groupId>org.yaml</groupId>
       <artifactId>snakeyaml</artifactId>
-      <version>1.24</version>
+      <version>1.27</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
diff --git a/boms/tomee-plume/src/main/resources/tomee/conf/system.properties b/boms/tomee-plume/src/main/resources/tomee/conf/system.properties
index 55daeaa..ab0fdfd 100644
--- a/boms/tomee-plume/src/main/resources/tomee/conf/system.properties
+++ b/boms/tomee-plume/src/main/resources/tomee/conf/system.properties
@@ -1,3 +1,18 @@
+# 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.
+
 # all this properties are added at JVM system properties at startup
 # here some default Apache TomEE system properties
 # for more information please see http://tomee.apache.org/properties-listing.html
diff --git a/boms/tomee-plume/src/main/resources/tomee/conf/tomee.xml b/boms/tomee-plume/src/main/resources/tomee/conf/tomee.xml
index 4f25bb2..737643f 100644
--- a/boms/tomee-plume/src/main/resources/tomee/conf/tomee.xml
+++ b/boms/tomee-plume/src/main/resources/tomee/conf/tomee.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
 <tomee>
   <!-- see http://tomee.apache.org/containers-and-resources.html -->
 
diff --git a/boms/tomee-plus/pom.xml b/boms/tomee-plus/pom.xml
index a0b7c09..028c3d4 100644
--- a/boms/tomee-plus/pom.xml
+++ b/boms/tomee-plus/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -43,12 +43,12 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-bootstrap</artifactId>
-      <version>${project.version}</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.dataformat</groupId>
       <artifactId>jackson-dataformat-yaml</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -169,7 +169,7 @@
     <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
-      <version>1.14</version>
+      <version>1.15</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -290,7 +290,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-broker</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -301,7 +301,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-client</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -312,7 +312,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-jdbc-store</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -323,7 +323,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-kahadb-store</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -334,7 +334,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-openwire-legacy</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -345,7 +345,7 @@
     <dependency>
       <groupId>org.apache.activemq</groupId>
       <artifactId>activemq-ra</artifactId>
-      <version>5.15.12</version>
+      <version>5.16.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -367,7 +367,7 @@
     <dependency>
       <groupId>org.apache.bval</groupId>
       <artifactId>bval-jsr</artifactId>
-      <version>2.0.3</version>
+      <version>2.0.5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -378,7 +378,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-collections4</artifactId>
-      <version>4.3</version>
+      <version>4.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -422,7 +422,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>3.8.1</version>
+      <version>3.11</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -444,7 +444,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-core</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -455,7 +455,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-soap</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -466,7 +466,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-bindings-xml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -477,7 +477,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-databinding-jaxb</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -488,7 +488,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -499,7 +499,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxws</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -510,7 +510,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-simple</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -521,7 +521,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-management</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -532,7 +532,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -543,7 +543,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-providers</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -554,7 +554,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-search</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -565,7 +565,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-json-basic</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -576,7 +576,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-mp-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -587,7 +587,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-cors</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -598,7 +598,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -609,7 +609,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -620,7 +620,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -631,7 +631,18 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-service-description</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-sse</artifactId>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -642,7 +653,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -653,7 +664,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security-saml</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -664,7 +675,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -675,7 +686,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-addr</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -686,7 +697,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-policy</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -697,7 +708,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-ws-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -708,7 +719,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-wsdl</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -751,8 +762,8 @@
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.javamail</groupId>
-      <artifactId>geronimo-javamail_1.4_mail</artifactId>
-      <version>1.9.0-alpha-2</version>
+      <artifactId>geronimo-javamail_1.6_mail</artifactId>
+      <version>1.0.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -840,7 +851,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -851,7 +862,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jaxrs</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -862,7 +873,18 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonp-strict</artifactId>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -873,7 +895,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-mapper</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -884,7 +906,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-api</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -895,7 +917,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-impl</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -917,7 +939,7 @@
     <dependency>
       <groupId>org.apache.openejb.shade</groupId>
       <artifactId>quartz-openejb-shade</artifactId>
-      <version>2.2.1</version>
+      <version>2.2.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -928,7 +950,7 @@
     <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa</artifactId>
-      <version>3.1.0</version>
+      <version>3.1.2</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -1036,39 +1058,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-impl</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-spec</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-api</artifactId>
       <version>${tomcat.version}</version>
@@ -1291,7 +1280,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>javaee-api</artifactId>
-      <version>8.0-4</version>
+      <version>8.0-5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -1521,6 +1510,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-catalina</artifactId>
       <version>${project.version}</version>
       <exclusions>
@@ -1741,6 +1741,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm8-shaded</artifactId>
+      <version>4.17</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
       <artifactId>xbean-bundleutils</artifactId>
       <version>4.14</version>
       <exclusions>
@@ -2224,9 +2235,20 @@
       </exclusions>
     </dependency>
     <dependency>
+      <groupId>org.tomitribe.quartz</groupId>
+      <artifactId>quartz</artifactId>
+      <version>2.2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
       <groupId>org.yaml</groupId>
       <artifactId>snakeyaml</artifactId>
-      <version>1.24</version>
+      <version>1.27</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
diff --git a/boms/tomee-plus/src/main/resources/tomee/conf/system.properties b/boms/tomee-plus/src/main/resources/tomee/conf/system.properties
index 55daeaa..ab0fdfd 100644
--- a/boms/tomee-plus/src/main/resources/tomee/conf/system.properties
+++ b/boms/tomee-plus/src/main/resources/tomee/conf/system.properties
@@ -1,3 +1,18 @@
+# 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.
+
 # all this properties are added at JVM system properties at startup
 # here some default Apache TomEE system properties
 # for more information please see http://tomee.apache.org/properties-listing.html
diff --git a/boms/tomee-plus/src/main/resources/tomee/conf/tomee.xml b/boms/tomee-plus/src/main/resources/tomee/conf/tomee.xml
index 4f25bb2..737643f 100644
--- a/boms/tomee-plus/src/main/resources/tomee/conf/tomee.xml
+++ b/boms/tomee-plus/src/main/resources/tomee/conf/tomee.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
 <tomee>
   <!-- see http://tomee.apache.org/containers-and-resources.html -->
 
diff --git a/boms/tomee-webprofile/pom.xml b/boms/tomee-webprofile/pom.xml
index 0892ce4..c3606b5 100644
--- a/boms/tomee-webprofile/pom.xml
+++ b/boms/tomee-webprofile/pom.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -43,12 +43,12 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-bootstrap</artifactId>
-      <version>${project.version}</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-annotations</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-core</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>com.fasterxml.jackson.core</groupId>
       <artifactId>jackson-databind</artifactId>
-      <version>2.10.0</version>
+      <version>2.12.0-rc1</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -213,7 +213,7 @@
     <dependency>
       <groupId>org.apache.bval</groupId>
       <artifactId>bval-jsr</artifactId>
-      <version>2.0.3</version>
+      <version>2.0.5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -224,7 +224,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-collections4</artifactId>
-      <version>4.3</version>
+      <version>4.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -246,7 +246,7 @@
     <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-lang3</artifactId>
-      <version>3.8.1</version>
+      <version>3.11</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -268,7 +268,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-core</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -279,7 +279,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -290,7 +290,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-management</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -301,7 +301,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-client</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -312,7 +312,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-providers</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -323,7 +323,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-extension-search</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -334,7 +334,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-json-basic</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -345,7 +345,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-cors</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -356,7 +356,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -367,7 +367,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-jose-jaxrs</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -378,7 +378,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-security-oauth2</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -389,7 +389,18 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-rs-service-description</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-sse</artifactId>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -400,7 +411,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-security</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -411,7 +422,7 @@
     <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http</artifactId>
-      <version>3.3.7</version>
+      <version>3.3.8</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -432,8 +443,8 @@
     </dependency>
     <dependency>
       <groupId>org.apache.geronimo.javamail</groupId>
-      <artifactId>geronimo-javamail_1.4_mail</artifactId>
-      <version>1.9.0-alpha-2</version>
+      <artifactId>geronimo-javamail_1.6_mail</artifactId>
+      <version>1.0.0</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -444,7 +455,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -455,7 +466,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jaxrs</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -466,7 +477,18 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonp-strict</artifactId>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -477,7 +499,7 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-mapper</artifactId>
-      <version>1.2.5</version>
+      <version>1.2.9</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -488,7 +510,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-api</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -499,7 +521,7 @@
     <dependency>
       <groupId>org.apache.myfaces.core</groupId>
       <artifactId>myfaces-impl</artifactId>
-      <version>2.3.6</version>
+      <version>2.3.7</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -510,7 +532,7 @@
     <dependency>
       <groupId>org.apache.openejb.shade</groupId>
       <artifactId>quartz-openejb-shade</artifactId>
-      <version>2.2.1</version>
+      <version>2.2.4</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -521,7 +543,7 @@
     <dependency>
       <groupId>org.apache.openjpa</groupId>
       <artifactId>openjpa</artifactId>
-      <version>3.1.0</version>
+      <version>3.1.2</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -618,39 +640,6 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-impl</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-spec</artifactId>
-      <version>1.2.5</version>
-      <exclusions>
-        <exclusion>
-          <artifactId>*</artifactId>
-          <groupId>*</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-api</artifactId>
       <version>${tomcat.version}</version>
@@ -873,7 +862,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>javaee-api</artifactId>
-      <version>8.0-4</version>
+      <version>8.0-5</version>
       <exclusions>
         <exclusion>
           <artifactId>*</artifactId>
@@ -1059,6 +1048,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-catalina</artifactId>
       <version>${project.version}</version>
       <exclusions>
@@ -1202,6 +1202,17 @@
     </dependency>
     <dependency>
       <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-asm8-shaded</artifactId>
+      <version>4.17</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.xbean</groupId>
       <artifactId>xbean-bundleutils</artifactId>
       <version>4.14</version>
       <exclusions>
@@ -1376,6 +1387,17 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.tomitribe.quartz</groupId>
+      <artifactId>quartz</artifactId>
+      <version>2.2.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
   </dependencies>
 </project>
 
diff --git a/boms/tomee-webprofile/src/main/resources/tomee/conf/system.properties b/boms/tomee-webprofile/src/main/resources/tomee/conf/system.properties
index 55daeaa..ab0fdfd 100644
--- a/boms/tomee-webprofile/src/main/resources/tomee/conf/system.properties
+++ b/boms/tomee-webprofile/src/main/resources/tomee/conf/system.properties
@@ -1,3 +1,18 @@
+# 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.
+
 # all this properties are added at JVM system properties at startup
 # here some default Apache TomEE system properties
 # for more information please see http://tomee.apache.org/properties-listing.html
diff --git a/boms/tomee-webprofile/src/main/resources/tomee/conf/tomee.xml b/boms/tomee-webprofile/src/main/resources/tomee/conf/tomee.xml
index 4f25bb2..737643f 100644
--- a/boms/tomee-webprofile/src/main/resources/tomee/conf/tomee.xml
+++ b/boms/tomee-webprofile/src/main/resources/tomee/conf/tomee.xml
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
 <tomee>
   <!-- see http://tomee.apache.org/containers-and-resources.html -->
 
diff --git a/container/mbean-annotation-api/pom.xml b/container/mbean-annotation-api/pom.xml
index fae4931..820b847 100644
--- a/container/mbean-annotation-api/pom.xml
+++ b/container/mbean-annotation-api/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>mbean-annotation-api</artifactId>
diff --git a/container/openejb-api/pom.xml b/container/openejb-api/pom.xml
index 2449166..f05a2bc 100644
--- a/container/openejb-api/pom.xml
+++ b/container/openejb-api/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/container/openejb-core/pom.xml b/container/openejb-core/pom.xml
index aceda01..2000d30 100644
--- a/container/openejb-core/pom.xml
+++ b/container/openejb-core/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-core</artifactId>
@@ -293,20 +293,20 @@
                 <artifactItem>
                   <groupId>org.apache.derby</groupId>
                   <artifactId>derby</artifactId>
-                  <version>10.10.1.1</version>
+                  <version>${derby.version}</version>
                   <type>jar</type>
                   <overWrite>false</overWrite>
                   <outputDirectory>${project.build.directory}/drivers</outputDirectory>
-                  <destFileName>derby-10.10.1.1.jar</destFileName>
+                  <destFileName>derby-${derby.version}.jar</destFileName>
                 </artifactItem>
                 <artifactItem>
                   <groupId>org.apache.derby</groupId>
                   <artifactId>derby</artifactId>
-                  <version>10.9.1.0</version>
+                  <version>${derby.version}</version>
                   <type>jar</type>
                   <overWrite>false</overWrite>
                   <outputDirectory>${project.build.directory}/drivers</outputDirectory>
-                  <destFileName>derby-10.9.1.0.jar</destFileName>
+                  <destFileName>derby-${derby.version}.jar</destFileName>
                 </artifactItem>
               </artifactItems>
             </configuration>
@@ -409,19 +409,6 @@
           </archive>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.examples</exclude>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/validate.help</exclude>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.resource.jdbc.DataSourcePlugin/*
-            </exclude>
-            <exclude>src/main/resources/META-INF/services/org/apache/activemq/broker/openejb</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
     </plugins>
   </build>
 
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java b/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
index 79bed95..58f440a 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/assembler/DeployerEjb.java
@@ -174,7 +174,7 @@
             AUTO_DEPLOY.set(autoDeploy);
             try {
                 final AppInfo appInfo = SystemInstance.get().getComponent(WebAppDeployer.class)
-                        .deploy(host, contextRoot(properties, file.getAbsolutePath()), file);
+                                                      .deploy(host, contextRoot(properties, file), file);
                 if (appInfo != null) {
                     saveIfNeeded(properties, file, appInfo);
                     return appInfo;
@@ -454,7 +454,14 @@
     }
 
     private String contextRoot(final Properties properties, final String jarPath) {
-        return properties.getProperty("webapp." + jarPath + ".context-root");
+        final File file = new File(jarPath);
+        return file.exists()
+               ? contextRoot(properties, file)
+               : properties.getProperty("webapp." + jarPath + ".context-root");
+    }
+
+    private String contextRoot(final Properties properties, final File jarPath) {
+        return properties.getProperty("webapp." + jarPath.getName() + ".context-root");
     }
 
     @Override
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
index c5f69eb..ea0d8ca 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
@@ -32,6 +32,10 @@
 import java.util.Collection;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletRequestEvent;
+import javax.servlet.ServletRequestWrapper;
+import javax.servlet.http.HttpServletRequest;
 
 
 public class CdiAppContextsService extends WebContextsService implements ContextsService {
@@ -114,4 +118,26 @@
     }
 
     public interface FiredManually {}
+
+    @Override
+    protected void initRequestContext(final Object startupObject) {
+        if(startupObject instanceof ServletRequestEvent) {
+
+            // OWB gets the ServletContextWrapper from the event and attempts to cast it to an HttpServletRequest
+            // in TCK, some tests are actually downgrading the HttpServletRequest to a regular ServletRequest
+            // See com.sun.ts.tests.servlet.api.jakarta_servlet.asynccontext
+            // In the look bellow, we try to check if we can find an HttpServletRequest in the hierarchy.
+            // otherwise, we let the call being delegated to OWB
+
+            ServletRequest current = ((ServletRequestEvent) startupObject).getServletRequest();
+            while (!HttpServletRequest.class.isInstance(current) && ServletRequestWrapper.class.isInstance(current)) {
+                current = ServletRequestWrapper.class.cast(current).getRequest();
+            }
+            super.initRequestContext(new ServletRequestEvent(((ServletRequestEvent) startupObject).getServletContext(), current));
+
+        } else {
+            super.initRequestContext(startupObject);
+
+        }
+    }
 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
index e678c87..a67c5a4 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
@@ -325,7 +325,7 @@
         private final Set<Type> ejbTypes;
 
         public EJBBeanAttributesImpl(final BeanContext bc, final BeanAttributes<T> beanAttributes) {
-            super(beanAttributes, false);
+            super(beanAttributes);
             this.beanContext = bc;
             this.ejbTypes = new HashSet<>();
             initTypes();
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
index 0b36344..325da56 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
@@ -123,7 +123,6 @@
         //from CDI builder
         properties.setProperty(OpenWebBeansConfiguration.INTERCEPTOR_FORCE_NO_CHECKED_EXCEPTIONS, "false");
         properties.setProperty(SecurityService.class.getName(), ManagedSecurityService.class.getName());
-        properties.setProperty(OpenWebBeansConfiguration.CONVERSATION_PERIODIC_DELAY, "1800000");
         properties.setProperty(OpenWebBeansConfiguration.APPLICATION_SUPPORTS_CONVERSATION, "true");
         properties.setProperty(OpenWebBeansConfiguration.IGNORED_INTERFACES, "org.apache.aries.proxy.weaving.WovenProxy");
 
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
index 055afbc..ded4bee 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
@@ -66,17 +66,6 @@
     }
 
     @Override
-    public void fireEvent(final Object event, final EventMetadataImpl metadata, final boolean isLifecycleEvent) {
-        super.fireEvent(event, metadata, isLifecycleEvent);
-        if (isEvent(event)) {
-            final BeanManagerImpl parentBm = getParentBm();
-            if (parentBm != null) {
-                parentBm.fireEvent(event, metadata, isLifecycleEvent);
-            }
-        }
-    }
-
-    @Override
     public List<Interceptor<?>> resolveInterceptors(InterceptionType type, Annotation... interceptorBindings) {
         final List<Interceptor<?>> interceptors = super.resolveInterceptors(type, interceptorBindings);
         final List<Interceptor<?>> parentInterceptors = getParentBm().resolveInterceptors(type, interceptorBindings);
@@ -89,20 +78,6 @@
     }
 
     @Override
-    public <T> Set<ObserverMethod<? super T>> resolveObserverMethods(final T event, final EventMetadataImpl metadata) {
-        final Set<ObserverMethod<? super T>> set = new HashSet<>(super.resolveObserverMethods(event, metadata));
-
-        if (isEvent(event)) {
-            final BeanManagerImpl parentBm = getParentBm();
-            if (parentBm != null) {
-                set.addAll(parentBm.resolveObserverMethods(event, metadata));
-            }
-        } // else nothing since extensions are loaded by classloader so we already have it
-
-        return set;
-    }
-
-    @Override
     public Object getInjectableReference(final InjectionPoint injectionPoint, final CreationalContext<?> ctx) {
         Asserts.assertNotNull(injectionPoint, "injectionPoint parameter");
         if(injectionPoint == null)  {
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappNotificationManager.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappNotificationManager.java
new file mode 100644
index 0000000..84e78a6
--- /dev/null
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappNotificationManager.java
@@ -0,0 +1,74 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.cdi;
+
+import org.apache.webbeans.event.EventMetadataImpl;
+import org.apache.webbeans.event.NotificationManager;
+
+import javax.enterprise.inject.spi.ObserverMethod;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * NotificationManager which handles delegation to the parent NotificationManager
+ */
+public final class WebappNotificationManager extends NotificationManager {
+    private final NotificationManager parentNotificationManager;
+
+    /**
+     * We need to know when we did start.
+     * Lifecycle events will only get sent to the parent NotificationManager once the boot is finished.
+     * This is necessary to e.g. handle ProcessInjectionPoint for manual InjectionPointFactory calls.
+     */
+    private boolean hasStarted = false;
+
+    public WebappNotificationManager(WebappWebBeansContext webappWebBeansContext) {
+        super(webappWebBeansContext);
+        this.parentNotificationManager = webappWebBeansContext.getParent() != null
+                ? webappWebBeansContext.getParent().getNotificationManager()
+                : null;
+    }
+
+
+    @Override
+    public void afterStart() {
+        hasStarted = true;
+        super.afterStart();
+    }
+
+    /**
+     * Collect the observer methods of the parent BeanManager plus the own.
+     */
+    @Override
+    public <T> Collection<ObserverMethod<? super T>> resolveObservers(T event, EventMetadataImpl metadata, boolean isLifecycleEvent) {
+        if (isLifecycleEvent) {
+            // we do not send lifecycle events to the parent beanmanager
+            // because the same Extensions get loaded with different instances one per BeanManager anyway
+            return super.resolveObservers(event, metadata, isLifecycleEvent);
+        }
+
+        // for standard event and some lifecycle events at RUNTIME(!),
+        // we also have to invoke the parent NotificationManager
+        List<ObserverMethod<? super T>> observerMethods =
+                parentNotificationManager != null
+                        ? new ArrayList<>(parentNotificationManager.resolveObservers(event, metadata, isLifecycleEvent))
+                        : new ArrayList<>();
+        observerMethods.addAll(super.resolveObservers(event, metadata, isLifecycleEvent));
+        return observerMethods;
+    }
+}
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappWebBeansContext.java b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappWebBeansContext.java
index 6d99a1a..6effb38 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappWebBeansContext.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappWebBeansContext.java
@@ -22,16 +22,19 @@
 
 import org.apache.webbeans.config.WebBeansContext;
 import org.apache.webbeans.container.BeanManagerImpl;
+import org.apache.webbeans.event.NotificationManager;
 
 import javax.enterprise.inject.spi.Bean;
 
 public class WebappWebBeansContext extends WebBeansContext {
     private final WebBeansContext parent;
     private BeanManagerImpl bm;
+    private final WebappNotificationManager webappNotificationManager;
 
     public WebappWebBeansContext(final Map<Class<?>, Object> services, final Properties properties, final WebBeansContext webBeansContext) {
         super(services, properties);
         parent = webBeansContext;
+        webappNotificationManager = new WebappNotificationManager(this);
     }
 
     @SuppressWarnings("PMD.DoubleCheckedLocking")
@@ -61,4 +64,9 @@
         }
         return false;
     }
+
+    @Override
+    public NotificationManager getNotificationManager() {
+        return webappNotificationManager;
+    }
 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/classloader/ProvisioningClassLoaderConfigurer.java b/container/openejb-core/src/main/java/org/apache/openejb/classloader/ProvisioningClassLoaderConfigurer.java
index 15c6805..28df1de 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/classloader/ProvisioningClassLoaderConfigurer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/classloader/ProvisioningClassLoaderConfigurer.java
@@ -80,7 +80,7 @@
 
             String line;
             while ((line = reader.readLine()) != null) {
-                line = PropertyPlaceHolderHelper.SUBSTITUTOR.replace(line.trim());
+                line = PropertyPlaceHolderHelper.replace(line.trim());
                 if (line.startsWith("#") || line.isEmpty()) {
                     continue;
                 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
index 19efeff..fceb33e 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
@@ -1157,6 +1157,9 @@
                 webModule.getRestClasses().addAll(findRestClasses(webModule, finder));
                 addJaxRsProviders(finder, webModule.getJaxrsProviders(), Provider.class);
 
+                // CXF actually does this in its own CDI setup - org.apache.cxf.cdi.JAXRSCdiResourceExtension#collect(javax.enterprise.inject.spi.ProcessBean<T>)
+                //addJaxRsProviders(finder, webModule.getJaxrsProviders(), Path.class);
+
                 // Applications with a default constructor
                 // findSubclasses will not work by default to gain a lot of time
                 // look FinderFactory for the flag to activate it or
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
index 89e1634..0ed48a9 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
@@ -848,7 +848,7 @@
 
     public static TldTaglib readTldTaglib(final URL url) throws OpenEJBException {
         // TOMEE-164 Optimization on reading built-in tld files
-        if (url.getPath().contains("jstl-1.2.jar") || (url.getPath().contains("taglibs-standard-") && url.getPath().contains(".jar!"))) {
+        if (url.getPath().contains("jstl-1.2.jar") || ((url.getPath().contains("taglibs-standard-") || url.getPath().contains("taglibs-shade-") && url.getPath().contains(".jar!")))) {
             return SKIP_TAGLIB;
         }
         if (url.getPath().contains("myfaces-impl")) { // we should return SKIP_TAGLIB too
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java b/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java
index 71dafbf..677c21e 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/TldScanner.java
@@ -327,7 +327,7 @@
             urlSet = URLs.cullSystemJars(urlSet);
             urlSet = applyBuiltinExcludes(
                     urlSet,
-                    Filters.tokens("taglibs-standard-impl", "taglibs-standard-jstlel", "javax.faces-2.", "jakarta.faces-2", "spring-security-taglibs", "spring-webmvc"),
+                    Filters.tokens("taglibs-shade", "taglibs-standard-impl", "taglibs-standard-jstlel", "javax.faces-2.", "jakarta.faces-2", "spring-security-taglibs", "spring-webmvc"),
                     Filters.prefixes("commons-jcs-", "myfaces-", "tomcat-websocket.jar")); // myfaces is hardcoded in tomee
         } catch (final IOException e) {
             DeploymentLoader.LOGGER.warning("Error scanning class loader for JSP tag libraries", e);
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorStack.java b/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorStack.java
index 4efa91e..21b8605 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorStack.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorStack.java
@@ -37,9 +37,9 @@
     private final Method targetMethod;
     private final Operation operation;
 
-    public InterceptorStack(final Object beanInstance, final Method targetMethod, final Operation operation, final List<InterceptorData> interceptorDatas, final Map<String, Object> interceptorInstances) {
-        if (interceptorDatas == null) {
-            throw new NullPointerException("interceptorDatas is null");
+    public InterceptorStack(final Object beanInstance, final Method targetMethod, final Operation operation, final List<InterceptorData> interceptorData, final Map<String, Object> interceptorInstances) {
+        if (interceptorData == null) {
+            throw new NullPointerException("interceptorData is null");
         }
         if (interceptorInstances == null) {
             throw new NullPointerException("interceptorInstances is null");
@@ -48,16 +48,16 @@
         this.targetMethod = targetMethod;
         this.operation = operation;
 
-        interceptors = new ArrayList<>(interceptorDatas.size());
+        interceptors = new ArrayList<>(interceptorData.size());
 
-        for (final InterceptorData interceptorData : interceptorDatas) {
-            final Class interceptorClass = interceptorData.getInterceptorClass();
+        for (final InterceptorData data : interceptorData) {
+            final Class interceptorClass = data.getInterceptorClass();
             final Object interceptorInstance = interceptorInstances.get(interceptorClass.getName());
             if (interceptorInstance == null) {
                 throw new IllegalArgumentException("No interceptor of type " + interceptorClass.getName());
             }
 
-            final Set<Method> methods = interceptorData.getMethods(operation);
+            final Set<Method> methods = data.getMethods(operation);
             for (final Method method : methods) {
                 final Interceptor interceptor;
                 final Object handler = DynamicProxyImplFactory.realHandler(interceptorInstance);
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/IvmContext.java b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/IvmContext.java
index ead5b3f..4f1e0f5 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/IvmContext.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/naming/IvmContext.java
@@ -497,7 +497,16 @@
     }
 
     public void close() throws NamingException {
-        checkReadOnly();
+        /*
+         * 10.4.4. Container Provider Responsibility
+         *
+         * The container must ensure that the enterprise bean instances have only read access to their environment
+         * variables. The container must throw the javax.naming.OperationNotSupportedException from all the methods of
+         * the javax.naming.Context interface that modify the environment naming context and its subcontexts.
+         *
+         * We can question if close() is modifying the context. But from what TCK does, it looks like no.
+         * So no need to check read only here. Tomcat does consider it to be a write operation so it fails
+         */
     }
 
     /*
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
index 975b804..8fb3199 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
@@ -17,6 +17,7 @@
 
 package org.apache.openejb.core.timer;
 
+import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.openejb.core.timer.EJBCronTrigger.ParseException;
 import org.apache.openejb.quartz.impl.triggers.AbstractTrigger;
 
@@ -83,6 +84,6 @@
 
     @Override
     public String toString() {
-        return TimerType.Calendar.name() + " scheduleExpression = [" + scheduleExpression + "]";
+        return TimerType.Calendar.name() + " scheduleExpression = [" + ToStringBuilder.reflectionToString(scheduleExpression) + "]";
     }
 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
index 52b6b16..4b4e9f3 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
@@ -104,6 +104,7 @@
 
     private final TimeZone timezone;
     private final String rawValue;
+    private final boolean isExpired;
 
     public EJBCronTrigger(final ScheduleExpression expr) throws ParseException {
 
@@ -118,7 +119,32 @@
 
         timezone = expr.getTimezone() == null ? TimeZone.getDefault() : TimeZone.getTimeZone(expr.getTimezone());
         setStartTime(expr.getStart() == null ? new Date() : expr.getStart());
-        setEndTime(expr.getEnd());
+
+        /*
+         * @testName: endNeverExpires
+         *
+         * @test_Strategy: create a timer with year="currentYear - currentYear+1", and
+         * end="currentYear-1". The end value is prior to the year values, and this
+         * timer will never expire. Creating this timer will succeed, but any timer
+         * method access in a subsequent business method will result in
+         * NoSuchObjectLocalException.
+         *
+         * EJB32 TCK test tries to create an already expired Timer and it's supposed to not fail.
+         * This may happen whe you restart an application for instance.
+         * On the other hand, Quartz does not allow endTime to be before StartTime so we need to check first so we don't
+         * set the endDate but we flag up this timer as being expired.
+         *
+         * When the first time is computed we will fail and as a consequence TimerData will be flagged up as being expired.
+         * So if endDate is not set or endTime after startTime, then we can consider this timer as not expired.
+         * If endTime is set and it's before startTime, we swallow setEndTime to Quartz and set the expired flag to true
+         */
+        if (expr.getEnd() == null || !isBefore(expr.getEnd(), getStartTime())) {
+            setEndTime(expr.getEnd());
+            isExpired = false;
+
+        } else {
+            isExpired = true;
+        }
 
         // If parsing fails on a field, record the error and move to the next field
         final Map<Integer, ParseException> errors = new HashMap<>();
@@ -143,6 +169,10 @@
             + DELIMITER + expr.getHour() + DELIMITER + expr.getMinute() + DELIMITER + expr.getSecond();
     }
 
+    private boolean isBefore(final Date end, final Date start) {
+        return start != null && end != null && start.after(end);
+    }
+
     /**
      * Computes a set of allowed values for the given field of a calendar based
      * time expression.
@@ -354,7 +384,7 @@
             } else if (currentFieldIndex >= 1) {
                 // No suitable value was found, so move back to the previous field
                 // and decrease the value
-                final int maxAffectedFieldType = upadteCalendar(calendar, expressions[currentFieldIndex - 1].field, -1);
+                final int maxAffectedFieldType = updateCalendar(calendar, expressions[currentFieldIndex - 1].field, -1);
                 currentFieldIndex = CALENDAR_FIELD_TYPE_ORDERED_INDEX_MAP.get(maxAffectedFieldType);
                 resetFields(calendar, maxAffectedFieldType, true);
             } else {
@@ -368,6 +398,16 @@
     }
 
     @Override
+    public Date computeFirstFireTime(final org.apache.openejb.quartz.Calendar calendar) {
+        // timer may be expired up on creation (see constructor comments)
+        if (isExpired) {
+            throw new TimerExpiredException(String.format("Timer %s expired.", this));
+        }
+
+        return super.computeFirstFireTime(calendar);
+    }
+
+    @Override
     public Date getFireTimeAfter(final Date afterTime) {
         log.debug("start to getFireTimeAfter:" + afterTime);
         final Calendar calendar = new GregorianCalendar(timezone);
@@ -447,7 +487,7 @@
                     // When current field is HOUR_OF_DAY, its upper field is DAY_OF_MONTH, so we need to -2 due to
                     // DAY_OF_WEEK.
                     final int parentFieldIndex = currentFieldIndex == 4 ? currentFieldIndex - 2 : currentFieldIndex - 1;
-                    final int maxAffectedFieldType = upadteCalendar(calendar, expressions[parentFieldIndex].field, 1);
+                    final int maxAffectedFieldType = updateCalendar(calendar, expressions[parentFieldIndex].field, 1);
                     currentFieldIndex = CALENDAR_FIELD_TYPE_ORDERED_INDEX_MAP.get(maxAffectedFieldType);
                     resetFields(calendar, maxAffectedFieldType, false);
                 }
@@ -491,7 +531,7 @@
      * @param field
      * @return
      */
-    private int upadteCalendar(final Calendar calendar, final int field, final int amount) {
+    private int updateCalendar(final Calendar calendar, final int field, final int amount) {
         final Calendar old = new GregorianCalendar(timezone);
         old.setTime(calendar.getTime());
         calendar.add(field, amount);
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
index 518d32b..effee7c 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
@@ -221,9 +221,6 @@
         if (!properties.containsKey(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME)) {
             properties.put(StdSchedulerFactory.PROP_SCHED_INSTANCE_NAME, "OpenEJB-TimerService-Scheduler");
         }
-        if (!properties.containsKey(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK)) {
-            properties.put(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK, "true");
-        }
         if (!properties.containsKey("org.terracotta.quartz.skipUpdateCheck")) {
             properties.put("org.terracotta.quartz.skipUpdateCheck", "true");
         }
@@ -776,7 +773,7 @@
                     try {
                         transactionManager.begin();
                     } catch (final Exception e) {
-                        log.warning("Exception occured while starting container transaction", e);
+                        log.warning("Exception occurred while starting container transaction", e);
                         return;
                     }
                 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
index 0ae1403..6dfc1ff 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
@@ -219,13 +219,19 @@
 
     public void newTimer() {
         //Initialize the Quartz Trigger
-        trigger = initializeTrigger();
-        trigger.computeFirstFireTime(null);
-        trigger.setGroup(OPEN_EJB_TIMEOUT_TRIGGER_GROUP_NAME);
-        trigger.setName(OPEN_EJB_TIMEOUT_TRIGGER_NAME_PREFIX + deploymentId + "_" + id);
-        newTimer = true;
         try {
+            trigger = initializeTrigger();
+            trigger.computeFirstFireTime(null);
+            trigger.setGroup(OPEN_EJB_TIMEOUT_TRIGGER_GROUP_NAME);
+            trigger.setName(OPEN_EJB_TIMEOUT_TRIGGER_NAME_PREFIX + deploymentId + "_" + id);
+            newTimer = true;
+
             registerTimerDataSynchronization();
+
+        } catch (final TimerExpiredException e) {
+            setExpired(true);
+            log.warning("Timer " + trigger + " is expired and will never trigger.");
+
         } catch (final TimerStoreException e) {
             throw new EJBException("Failed to register new timer data synchronization", e);
         }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerExpiredException.java b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerExpiredException.java
new file mode 100644
index 0000000..ec8f7e6
--- /dev/null
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerExpiredException.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+package org.apache.openejb.core.timer;
+
+public class TimerExpiredException extends RuntimeException {
+    public TimerExpiredException(final String message) {
+        super(message);
+    }
+}
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java b/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
index b65c4d0..84fbf65 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
@@ -382,11 +382,18 @@
     // not the shouldSkip() method from UrlClassLoaderFirst since we skip more here
     // we just need JPA stuff so all the tricks we have for the server part are useless
     @SuppressWarnings("RedundantIfStatement")
-    public static boolean isServerClass(final String name) {
+    public static boolean isServerClass(final String input) {
+
+        String name = input;
+
         if (name == null) {
             return false;
         }
 
+        if (name.startsWith("openejb.shade.")) {
+            name = name.substring("openejb.shade.".length());
+        }
+
         for (final String prefix : URLClassLoaderFirst.FORCED_SKIP) {
             if (name.startsWith(prefix)) {
                 return true;
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
index f66ef00..bf2daa3 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQResourceAdapter.java
@@ -47,6 +47,7 @@
 import javax.resource.ResourceException;
 import javax.resource.spi.BootstrapContext;
 import javax.resource.spi.ResourceAdapterInternalException;
+import javax.resource.spi.TransactionSupport;
 import java.lang.reflect.Field;
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
@@ -327,7 +328,7 @@
             }
         }
 
-        final ActiveMQConnectionFactory factory = new TomEEConnectionFactory();
+        final ActiveMQConnectionFactory factory = new TomEEConnectionFactory(TransactionSupport.TransactionSupportLevel.XATransaction);
         connectionRequestInfo.configure(factory, activationSpec);
         return factory;
     }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEConnectionFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEConnectionFactory.java
index 9af3d0d..1bbf9ed 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEConnectionFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEConnectionFactory.java
@@ -22,11 +22,22 @@
 import org.apache.activemq.transport.Transport;
 
 import javax.jms.JMSContext;
+import javax.resource.spi.TransactionSupport;
 
 public class TomEEConnectionFactory extends ActiveMQXASslConnectionFactory {
+    private final TransactionSupport.TransactionSupportLevel transactionSupportLevel;
+
+    public TomEEConnectionFactory(TransactionSupport.TransactionSupportLevel transactionSupportLevel) {
+        this.transactionSupportLevel = transactionSupportLevel;
+    }
+
     @Override
     protected ActiveMQConnection createActiveMQConnection(final Transport transport, final JMSStatsImpl stats) throws Exception {
-        return new TomEEXAConnection(transport, getClientIdGenerator(), getConnectionIdGenerator(), stats);
+        if (TransactionSupport.TransactionSupportLevel.NoTransaction.equals(transactionSupportLevel)) {
+            return new TomEEConnection(transport, getClientIdGenerator(), getConnectionIdGenerator(), stats);
+        } else {
+            return new TomEEXAConnection(transport, getClientIdGenerator(), getConnectionIdGenerator(), stats);
+        }
     }
 
     @Override
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
index 22c44d0..77a84c5 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
@@ -50,7 +50,7 @@
 
     @Override
     protected ActiveMQConnectionFactory createConnectionFactory(final ActiveMQConnectionRequestInfo connectionRequestInfo, final MessageActivationSpec activationSpec) {
-        final TomEEConnectionFactory connectionFactory = new TomEEConnectionFactory();
+        final TomEEConnectionFactory connectionFactory = new TomEEConnectionFactory(transactionSupportLevel);
         connectionRequestInfo.configure(connectionFactory, activationSpec);
         return connectionFactory;
     }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
index 42e65ba..27caa22 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java
@@ -410,7 +410,7 @@
         properties.remove(key);
 
         // If someone is using the legacy property, use it
-        if (properties.contains(oldKey)) {
+        if (properties.containsKey(oldKey)) {
             return;
         }
         properties.remove(oldKey);
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/quartz/QuartzResourceAdapter.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/quartz/QuartzResourceAdapter.java
index 8dad12b..e709bf9 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/quartz/QuartzResourceAdapter.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/quartz/QuartzResourceAdapter.java
@@ -82,8 +82,6 @@
             , JavaSecurityManagers.getSystemProperty(StdSchedulerFactory.PROP_SCHED_INTERRUPT_JOBS_ON_SHUTDOWN_WITH_WAIT, "true"));
 
         //Let the user enable this if they really want it
-        JavaSecurityManagers.setSystemProperty(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK
-            , JavaSecurityManagers.getSystemProperty(StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK, "true"));
         JavaSecurityManagers.setSystemProperty("org.terracotta.quartz.skipUpdateCheck"
             , JavaSecurityManagers.getSystemProperty("org.terracotta.quartz.skipUpdateCheck", "true"));
 
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java b/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
index cd6ae90..9418abb 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
@@ -31,17 +31,30 @@
 public final class PropertyPlaceHolderHelper {
     private static final String PREFIX = "${";
     private static final String SUFFIX = "}";
+    private static final String VALUE_DELIMITER;
+
     private static final Properties CACHE = new Properties();
 
-    private static final PropertiesLookup RESOLVER = new PropertiesLookup();
-    public static final StrSubstitutor SUBSTITUTOR = new StrSubstitutor(RESOLVER);
+    private static final PropertiesLookup RESOLVER_TO_NULL_IF_MISSING = new PropertiesLookup(false);
+    private static final PropertiesLookup RESOLVER_TO_KEY_IF_MISSING = new PropertiesLookup(true);
+
+    private static final StrSubstitutor DEFAULT_SUBSTITUTOR = new StrSubstitutor(RESOLVER_TO_KEY_IF_MISSING);
+
+    private static final StrSubstitutor VALUE_DELIMITER_SUBSTITUTOR = new StrSubstitutor(RESOLVER_TO_NULL_IF_MISSING);
 
     static {
-        SUBSTITUTOR.setEnableSubstitutionInVariables(true);
-        SUBSTITUTOR.setValueDelimiter(JavaSecurityManagers.getSystemProperty("openejb.placehodler.delimiter", ":-")); // default one of [lang3]
+        VALUE_DELIMITER = JavaSecurityManagers.getSystemProperty("openejb.placehodler.delimiter", ":-"); // default one of [lang3]
+
+        DEFAULT_SUBSTITUTOR.setEnableSubstitutionInVariables(true);
+        DEFAULT_SUBSTITUTOR.setValueDelimiter(VALUE_DELIMITER);
+
+        VALUE_DELIMITER_SUBSTITUTOR.setPreserveEscapes(true);
+        VALUE_DELIMITER_SUBSTITUTOR.setEnableSubstitutionInVariables(true);
+        VALUE_DELIMITER_SUBSTITUTOR.setValueDelimiter(VALUE_DELIMITER);
     }
 
-    public static final String CIPHER_PREFIX = "cipher:";
+    private static final String CIPHER_PREFIX = "cipher:";
+    private static final String JAVA_PREFIX = "java:";
 
     private PropertyPlaceHolderHelper() {
         // no-op
@@ -49,37 +62,33 @@
 
     public static void reset() {
         CACHE.clear();
-        RESOLVER.reload();
+        RESOLVER_TO_NULL_IF_MISSING.reload();
+        RESOLVER_TO_KEY_IF_MISSING.reload();
     }
 
     public static String simpleValue(final String raw) {
-        if (raw == null) {
-            return null;
-        }
-        if (!raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
-            return String.class.cast(decryptIfNeeded(raw.replace(PREFIX, "").replace(SUFFIX, ""), false));
-        }
-
-        String value = SUBSTITUTOR.replace(raw);
-        if (!value.equals(raw) && value.startsWith("java:")) {
-            value = value.substring(5);
-        }
-        return String.class.cast(decryptIfNeeded(value.replace(PREFIX, "").replace(SUFFIX, ""), false));
+        return String.class.cast(simpleValueAsStringOrCharArray(raw, false));
     }
 
     public static Object simpleValueAsStringOrCharArray(final String raw) {
+        return simpleValueAsStringOrCharArray(raw, true);
+    }
+
+    private static Object simpleValueAsStringOrCharArray(final String raw, boolean acceptCharArray) {
         if (raw == null) {
             return null;
         }
         if (!raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
-            return decryptIfNeeded(raw.replace(PREFIX, "").replace(SUFFIX, ""), true);
+            return decryptIfNeeded(raw, acceptCharArray);
         }
 
-        String value = SUBSTITUTOR.replace(raw);
-        if (!value.equals(raw) && value.startsWith("java:")) {
+        String value = replace(raw);
+
+        if (!value.equals(raw) && value.startsWith(JAVA_PREFIX)) {
             value = value.substring(5);
         }
-        return decryptIfNeeded(value.replace(PREFIX, "").replace(SUFFIX, ""), true);
+
+        return decryptIfNeeded(value, acceptCharArray);
     }
 
     private static Object decryptIfNeeded(final String replace, final boolean acceptCharArray) {
@@ -104,21 +113,21 @@
         return replace;
     }
 
-    public static String value(final String aw) {
-        if (aw == null) {
+    public static String value(final String raw) {
+        if (raw == null) {
             return null;
         }
-        if (!aw.contains(PREFIX) || !aw.contains(SUFFIX)) {
-            return String.class.cast(decryptIfNeeded(aw, false));
+        if (!raw.contains(PREFIX) || !raw.contains(SUFFIX)) {
+            return String.class.cast(decryptIfNeeded(raw, false));
         }
 
-        String value = CACHE.getProperty(aw);
+        String value = CACHE.getProperty(raw);
         if (value != null) {
             return value;
         }
 
-        value = simpleValue(aw);
-        CACHE.setProperty(aw, value);
+        value = simpleValue(raw);
+        CACHE.setProperty(raw, value);
         return value;
     }
 
@@ -154,9 +163,27 @@
         props.putAll(toUpdate);
     }
 
+    public static String replace(final String raw) {
+        if(raw == null) {
+            return null;
+        }
+
+        if(raw.contains(VALUE_DELIMITER)) {
+            return DEFAULT_SUBSTITUTOR.replace(VALUE_DELIMITER_SUBSTITUTOR.replace(raw));
+        } else {
+            return DEFAULT_SUBSTITUTOR.replace(raw);
+        }
+    }
+
     private static class PropertiesLookup extends StrLookup<Object> {
         private static final Map<String, String> ENV = System.getenv();
 
+        private final boolean resolveToKey;
+
+        public PropertiesLookup(boolean resolveToKey) {
+            this.resolveToKey = resolveToKey;
+        }
+
         @Override
         public synchronized String lookup(final String key) {
             String value = SystemInstance.get().getProperties().getProperty(key);
@@ -169,11 +196,12 @@
                 return value;
             }
 
-            return null;
+            return this.resolveToKey ? key : null;
         }
 
         public synchronized void reload() {
             //no-op
         }
     }
+
 }
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java b/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
index 938b7e8..ca18330 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
@@ -69,7 +69,9 @@
                 "META-INF/services/javax.ws.rs.client.ClientBuilder," +
                 "META-INF/services/javax.json.spi.JsonProvider," +
                 "META-INF/services/javax.cache.spi.CachingProvider," +
-                "META-INF/javamail.default.providers,META-INF/javamail.default.address.map," +
+                "META-INF/services/javax.persistence.spi.PersistenceProvider," +
+                "META-INF/javamail.default.providers," +
+                "META-INF/javamail.default.address.map," +
                 "META-INF/javamail.charset.map,META-INF/mailcap," +
                 SLF4J_BINDER_CLASS);
     }
@@ -204,7 +206,10 @@
     //
     // /!\ please check org.apache.openejb.persistence.PersistenceUnitInfoImpl.isServerClass() too
     // when updating this method
-    public static boolean shouldSkip(final String name) {
+    public static boolean shouldSkip(final String input) {
+
+        String name = input;
+
         if (name == null) { // can happen with rest servlet definition or errors
             return false;
         }
@@ -220,6 +225,10 @@
             }
         }
 
+        if (name.startsWith("openejb.shade.")) {
+            name = name.substring("openejb.shade.".length());
+        }
+
         if (name.startsWith("java.")) {
             return true;
         }
diff --git a/container/openejb-core/src/main/resources/default.exclusions b/container/openejb-core/src/main/resources/default.exclusions
index d4f0aa9..0cefc89 100644
--- a/container/openejb-core/src/main/resources/default.exclusions
+++ b/container/openejb-core/src/main/resources/default.exclusions
@@ -255,6 +255,7 @@
 swizzle-
 sxc-
 taglibs-standard-
+taglibs-shade-
 testng-
 tomcat-annotations
 tomcat-api
diff --git a/container/openejb-core/src/main/resources/default.openejb.conf b/container/openejb-core/src/main/resources/default.openejb.conf
index fa5f0f9..478eaee 100644
--- a/container/openejb-core/src/main/resources/default.openejb.conf
+++ b/container/openejb-core/src/main/resources/default.openejb.conf
@@ -1,4 +1,20 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
 <openejb>
 
 
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/activemq/ConnectionFactoryTxTest.java b/container/openejb-core/src/test/java/org/apache/openejb/activemq/ConnectionFactoryTxTest.java
new file mode 100644
index 0000000..627b435
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/activemq/ConnectionFactoryTxTest.java
@@ -0,0 +1,353 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+package org.apache.openejb.activemq;
+
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.broker.BrokerRegistry;
+import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.command.ActiveMQQueue;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.ResourceInfo;
+import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.jee.ContainerTransaction;
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.jee.TransAttribute;
+import org.junit.Assert;
+import org.junit.Test;
+
+import javax.annotation.Resource;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.jms.TextMessage;
+import java.util.List;
+import java.util.Properties;
+
+public class ConnectionFactoryTxTest {
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeMandatoryRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.MANDATORY, false);
+        checkQueue(0); // method doesn't run at all
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeMandatoryRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.MANDATORY, true);
+        checkQueue(0); // method doesn't run at all
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeRequiredRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.REQUIRED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeRequiredRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.REQUIRED, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeRequires_newRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.REQUIRES_NEW, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeRequires_newRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.REQUIRES_NEW, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeSupportsRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.SUPPORTS, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeSupportsRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.SUPPORTS, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeNot_supportedRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.NOT_SUPPORTED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeNot_supportedRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.NOT_SUPPORTED, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeNeverRequiredNoRollback() throws Exception {
+        runTest("none", TransAttribute.NEVER, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportNoneBeanTransAttributeNeverRequiredWithRollback() throws Exception {
+        runTest("none", TransAttribute.NEVER, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeMandatoryRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.MANDATORY, false);
+        checkQueue(0); // No tx present, so this this shouldn't process
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeMandatoryRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.MANDATORY, true);
+        checkQueue(0); // No tx present, so this this shouldn't process
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeRequiredRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.REQUIRED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeRequiredRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.REQUIRED, true);
+        checkQueue(0);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeRequires_newRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.REQUIRES_NEW, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeRequires_newRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.REQUIRES_NEW, true);
+        checkQueue(0);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeSupportsRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.SUPPORTS, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeSupportsRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.SUPPORTS, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeNot_supportedRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.NOT_SUPPORTED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeNot_supportedRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.NOT_SUPPORTED, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeNeverRequiredNoRollback() throws Exception {
+        runTest("local", TransAttribute.NEVER, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportLocalBeanTransAttributeNeverRequiredWithRollback() throws Exception {
+        runTest("local", TransAttribute.NEVER, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeMandatoryRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.MANDATORY, false);
+        checkQueue(0); // No tx present, so this this shouldn't process
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeMandatoryRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.MANDATORY, true);
+        checkQueue(0); // No tx present, so this this shouldn't process
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeRequiredRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.REQUIRED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeRequiredRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.REQUIRED, true);
+        checkQueue(0);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeRequires_newRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.REQUIRES_NEW, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeRequires_newRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.REQUIRES_NEW, true);
+        checkQueue(0);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeSupportsRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.SUPPORTS, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeSupportsRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.SUPPORTS, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeNot_supportedRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.NOT_SUPPORTED, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeNot_supportedRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.NOT_SUPPORTED, true);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeNeverRequiredNoRollback() throws Exception {
+        runTest("xa", TransAttribute.NEVER, false);
+        checkQueue(1);
+    }
+
+    @Test
+    public void testTxSupportXaBeanTransAttributeNeverRequiredWithRollback() throws Exception {
+        runTest("xa", TransAttribute.NEVER, true);
+        checkQueue(1);
+    }
+    private void checkQueue(final int expected) throws Exception {
+        final BrokerService broker = BrokerRegistry.getInstance().lookup("localhost");
+        final org.apache.activemq.broker.region.Destination testQueue = broker.getDestination(new ActiveMQQueue("TEST"));
+
+        Assert.assertEquals(expected, testQueue.browse().length);
+    }
+
+    private void runTest(final String transactionSupport, final TransAttribute transactionAttribute, final boolean rollback) throws Exception {
+        final ConfigurationFactory config = new ConfigurationFactory();
+
+        final Assembler assembler = new Assembler();
+
+        assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+        assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+
+
+        final Properties raProps = new Properties();
+        raProps.setProperty("BrokerXmlConfig", "broker:(vm://broker)?useJmx=true");
+        raProps.setProperty("ServerUrl", "vm://localhost");
+        assembler.createResource(config.configureService(ResourceInfo.class, "MyJmsResourceAdapter",
+                raProps, "Default JMS Resource Adapter", "ActiveMQResourceAdapter"));
+
+        final Properties cfProps = new Properties();
+        cfProps.setProperty("ResourceAdapter", "MyJmsResourceAdapter");
+        cfProps.setProperty("TransactionSupport", transactionSupport);
+        assembler.createResource(config.configureService(ResourceInfo.class, "MyJmsConnectionFactory",
+                cfProps, "Default JMS Connection Factory", "javax.jms.ConnectionFactory"));
+
+        final EjbJar ejbJar = new EjbJar("tx-singleton");
+        final SingletonBean singletonBean = new SingletonBean(TxSingletonBean.class);
+        ejbJar.addEnterpriseBean(singletonBean);
+
+        final List<ContainerTransaction> declared = ejbJar.getAssemblyDescriptor().getContainerTransaction();
+        declared.add(new ContainerTransaction(transactionAttribute, "*", "*", "*"));
+
+        assembler.createApplication(config.configureApplication(ejbJar));
+
+        // explicitly clear this thing out
+        consumeMessagesFromQueue(BrokerRegistry.getInstance().lookup("localhost").getVmConnectorURI().toString(),"TEST");
+
+        final TxSingletonBean bean = (TxSingletonBean) assembler.getContainerSystem().getJNDIContext().lookup("java:global/tx-singleton/tx-singleton/TxSingletonBean");
+        try {
+            bean.sendMessage(rollback);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    protected void consumeMessagesFromQueue(final String brokerUrl, final String queueName) throws Exception {
+        final ConnectionFactory cf = new ActiveMQConnectionFactory(brokerUrl);
+        final Connection conn = cf.createConnection();
+        conn.start();
+
+        final Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+        final Queue queue = session.createQueue(queueName);
+        final MessageConsumer consumer = session.createConsumer(queue);
+
+        while (consumer.receive(1000) != null) {
+        }
+
+        consumer.close();
+        session.close();
+        conn.close();
+    }
+
+    public static class TxSingletonBean {
+
+        @Resource
+        private ConnectionFactory cf;
+
+        public void sendMessage(final boolean fail) throws Exception {
+            try (final Connection connection = cf.createConnection(); final Session sess = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE)) {
+                connection.start();
+
+                final Queue queue = sess.createQueue("TEST");
+                final MessageProducer producer = sess.createProducer(queue);
+                final TextMessage message = sess.createTextMessage("Test Message");
+
+                producer.send(message);
+
+                if (fail) {
+                    throw new RuntimeException("Operation failing");
+                }
+            }
+        }
+
+    }
+}
+
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/naming/IvmContextTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/naming/IvmContextTest.java
index ce93e36..6d3be45 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/naming/IvmContextTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/naming/IvmContextTest.java
@@ -342,14 +342,14 @@
         }
     }
 
-    public void testCloseThrowsExceptionIfReadOnly() throws NamingException {
+    public void testCloseDoesNotThrowExceptionIfReadOnly() throws NamingException {
         final IvmContext context = new IvmContext();
         context.setReadOnly(true);
         try {
             context.close();
-            fail();
-        } catch (OperationNotSupportedException e) {
             //ok
+        } catch (OperationNotSupportedException e) {
+            fail();
         }
     }
     
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/interceptors/EjbModuleOnlyInterceptorsTest.java b/container/openejb-core/src/test/java/org/apache/openejb/interceptors/EjbModuleOnlyInterceptorsTest.java
new file mode 100644
index 0000000..b27d039
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/interceptors/EjbModuleOnlyInterceptorsTest.java
@@ -0,0 +1,196 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+package org.apache.openejb.interceptors;
+
+import org.apache.openejb.core.OpenEJBInitialContextFactory;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Classes;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.annotation.PostConstruct;
+import javax.ejb.EJB;
+import javax.ejb.Singleton;
+import javax.ejb.Startup;
+import javax.interceptor.AroundConstruct;
+import javax.interceptor.ExcludeDefaultInterceptors;
+import javax.interceptor.Interceptors;
+import javax.interceptor.InvocationContext;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(ApplicationComposer.class)
+@Classes(innerClassesAsBean = true) // don't activate CDI here because on TCK it won't get activated
+public class EjbModuleOnlyInterceptorsTest {
+
+    @EJB
+    private InterceptorBean interceptorBean;
+
+    @EJB
+    private HistorySingletonBean historySingletonBean;
+
+    @Before
+    public void setUp() throws Exception {
+        final Context ctx = new InitialContext(new PropertiesBuilder()
+                                                   .p(Context.INITIAL_CONTEXT_FACTORY,
+                                                      OpenEJBInitialContextFactory.class.getName())
+                                                   .build());
+        ctx.bind("inject", this);
+    }
+
+    @Test
+    public void allInterceptorsUsed() throws Exception {
+        assertNotNull(interceptorBean);
+        final List<String> postConstructRecordsFor = historySingletonBean.getPostConstructRecordsFor();
+
+        // todo, when we have an idea about the fix, we can add asserts so build does not fail for now
+        // this is a placeholder for people to jump in and help, because I'm getting a bit stuck on this one.
+        System.out.println(postConstructRecordsFor);
+    }
+
+    @Singleton
+    @Startup
+    @ExcludeDefaultInterceptors
+    @Interceptors({
+                      InterceptorColor.class,
+                      InterceptorJuice.class
+                  })
+    public static class InterceptorBean extends InterceptorBeanBase {
+        private static final String simpleName = "InterceptorBean";
+
+        @PostConstruct
+        protected void postConstruct() {
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+        }
+
+    }
+
+    public static abstract class InterceptorBeanBase {
+        private static final String simpleName = "InterceptorBeanBase";
+
+        @EJB
+        protected HistorySingletonBean historySingletonBean;
+
+        @PostConstruct
+        protected void postConstructInInterceptorBeanBase() {
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+        }
+
+        public HistorySingletonBean getHistorySingletonBean() {
+            return this.historySingletonBean;
+        }
+    }
+
+    public static class InterceptorColor extends InterceptorJuice {
+        private static final String simpleName = "InterceptorColor";
+
+        @AroundConstruct
+        private void aroundConstruct(InvocationContext ic) {
+            Object savedTarget = ic.getTarget();
+            try {
+                ic.proceed();
+
+            } catch (final Exception ex) {
+                this.historySingletonBean.addPostConstructRecordFor(ex.toString());
+                return;
+            }
+            if (savedTarget != null) {
+                this.historySingletonBean.addPostConstructRecordFor("NotNullTargetBeforeProceed");
+                return;
+            }
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+        }
+    }
+
+    public static class InterceptorJuice extends InterceptorBase {
+        private static final String simpleName = "InterceptorJuice";
+
+        @AroundConstruct
+        private void aroundConstruct(InvocationContext ic) {
+            Object savedTarget = ic.getTarget();
+            try {
+                ic.proceed();
+
+            } catch (final Exception ex) {
+                this.historySingletonBean.addPostConstructRecordFor(ex.toString());
+                return;
+            }
+            if (savedTarget != null) {
+                this.historySingletonBean.addPostConstructRecordFor("NotNullTargetBeforeProceed");
+                return;
+            }
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+        }
+    }
+
+    public static abstract class InterceptorBase extends InterceptorBaseBase {
+        private static final String simpleName = "InterceptorBase";
+
+        @PostConstruct
+        private void postConstruct(InvocationContext inv) {
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+            try {
+                inv.proceed();
+
+            } catch (final Exception ex) {
+                this.historySingletonBean.addPostConstructRecordFor(ex.toString());
+            }
+        }
+    }
+
+    public static abstract class InterceptorBaseBase {
+        private static final String simpleName = "InterceptorBaseBase";
+
+        @EJB
+        protected HistorySingletonBean historySingletonBean;
+
+        @PostConstruct
+        protected void postConstructInInterceptorBaseBase(InvocationContext inv) {
+            this.historySingletonBean.addPostConstructRecordFor(simpleName);
+            try {
+                inv.proceed();
+
+            } catch (final Exception ex) {
+                this.historySingletonBean.addPostConstructRecordFor(ex.toString());
+            }
+        }
+
+    }
+
+    @Startup
+    @Singleton
+    @ExcludeDefaultInterceptors
+    public static class HistorySingletonBean {
+        private List<String> postConstructRecordsMap = new ArrayList<>();
+
+        public List<String> getPostConstructRecordsFor() {
+            return Collections.unmodifiableList(postConstructRecordsMap);
+        }
+
+        public void addPostConstructRecordFor(final String aEntry) {
+            postConstructRecordsMap.add(aEntry);
+        }
+
+    }
+}
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/driver/AlternateDriverJarTest.java b/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/driver/AlternateDriverJarTest.java
index f455bb6..8bb3fb4 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/driver/AlternateDriverJarTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/driver/AlternateDriverJarTest.java
@@ -58,7 +58,7 @@
         p.put("JdbcOne.Password", PASSWORD);
         p.put("JdbcOne.JtaManaged", "false");
 
-        final File file = new File(drivers, "derby-10.9.1.0.jar");
+        final File file = new File(drivers, "derby-10.14.2.0.jar");
         Assert.assertTrue("Failed to find: " + file, file.exists());
 
         p.put("JdbcTwo", "new://Resource?type=DataSource&classpath="
@@ -93,7 +93,7 @@
 
         final String twoDriverVersion = two.getDriverVersion();
         System.out.println("twoDriverVersion = " + twoDriverVersion);
-        Assert.assertEquals("Should be using 10.9.1.0 - (1344872)", "10.9.1.0 - (1344872)", twoDriverVersion);
+        Assert.assertEquals("Should be using 10.14.2.0 - (1828579)", "10.14.2.0 - (1828579)", twoDriverVersion);
     }
 
     @LocalBean
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/timer/EJBCronTriggerTest.java b/container/openejb-core/src/test/java/org/apache/openejb/timer/EJBCronTriggerTest.java
index e1fdcb3..0cf244a 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/timer/EJBCronTriggerTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/timer/EJBCronTriggerTest.java
@@ -19,6 +19,7 @@
 
 import org.apache.openejb.core.timer.EJBCronTrigger;
 import org.apache.openejb.core.timer.EJBCronTrigger.ParseException;
+import org.apache.openejb.core.timer.TimerExpiredException;
 import org.junit.Test;
 
 import javax.ejb.ScheduleExpression;
@@ -27,12 +28,28 @@
 import java.util.GregorianCalendar;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 
 public class EJBCronTriggerTest {
 
+    @Test
+    public void shouldBeAbleToCreateExpiredTrigger() throws ParseException {
+        final ScheduleExpression expr = new ScheduleExpression().year(2008).month(12).dayOfMonth(1).end(new Date(0));
+        final EJBCronTrigger trigger = new EJBCronTrigger(expr);
+        assertNotNull(trigger);
+    }
+
+    @Test(expected = TimerExpiredException.class)
+    public void computeFailsOnExpiredTriggers() throws ParseException {
+        final ScheduleExpression expr = new ScheduleExpression().year(2008).month(12).dayOfMonth(1).end(new Date(0));
+        final EJBCronTrigger trigger = new EJBCronTrigger(expr);
+        assertNotNull(trigger);
+        trigger.computeFirstFireTime(null);
+    }
+
     @Test(timeout = 1000)
     public void testSimpleDate() throws ParseException {
         final ScheduleExpression expr = new ScheduleExpression().year(2008).month(12).dayOfMonth(1).start(new Date(0));
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/timer/InitialIntervalTimerTest.java b/container/openejb-core/src/test/java/org/apache/openejb/timer/InitialIntervalTimerTest.java
index 9f9252a..1390e48 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/timer/InitialIntervalTimerTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/timer/InitialIntervalTimerTest.java
@@ -16,10 +16,10 @@
  */
 package org.apache.openejb.timer;
 
+import org.apache.commons.lang3.time.DateUtils;
 import org.apache.openejb.jee.EnterpriseBean;
-import org.apache.openejb.jee.SingletonBean;
 import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.testing.Module;
+import org.apache.openejb.testing.Classes;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -29,6 +29,9 @@
 import javax.ejb.EJB;
 import javax.ejb.Lock;
 import javax.ejb.LockType;
+import javax.ejb.NoMoreTimeoutsException;
+import javax.ejb.NoSuchObjectLocalException;
+import javax.ejb.ScheduleExpression;
 import javax.ejb.Singleton;
 import javax.ejb.Startup;
 import javax.ejb.Timeout;
@@ -36,24 +39,71 @@
 import javax.ejb.TimerConfig;
 import javax.ejb.TimerService;
 
+import java.util.Calendar;
+import java.util.Date;
+
 import static org.junit.Assert.assertEquals;
 
 @RunWith(ApplicationComposer.class)
+@Classes(innerClassesAsBean = true)
 public class InitialIntervalTimerTest {
-    @Module
-    public EnterpriseBean bean() {
-        return new SingletonBean(TimerWithDelay.class).localBean();
-    }
 
     @EJB
     private TimerWithDelay bean;
 
+    @EJB
+    private TimerNeverExpires scheduleBean;
+
     @Test
     public void test() throws InterruptedException {
         Thread.sleep(5400);
         assertEquals(3, bean.getOk());
     }
 
+    @Test
+    public void endNeverExpires() {
+        final Calendar cal = Calendar.getInstance();
+        final int currentYear = getForSchedule(Calendar.YEAR, cal);
+        cal.add(Calendar.SECOND, 10);
+        final ScheduleExpression exp = getPreciseScheduleExpression(cal);
+        final Date end = DateUtils.setYears(cal.getTime(), cal.get(Calendar.YEAR) - 1);
+        exp.end(end);
+        exp.year((currentYear) + " - " + (currentYear + 1));
+
+        final Timer timer = scheduleBean.createTimer(exp);
+        scheduleBean.passIfNoMoreTimeouts(timer);
+    }
+
+    public static ScheduleExpression getPreciseScheduleExpression(final Calendar... cals) {
+        Calendar cal = (cals.length == 0) ? Calendar.getInstance() : cals[0];
+        return new ScheduleExpression()
+            .year(cal.get(Calendar.YEAR)).month(getForSchedule(Calendar.MONTH, cal))
+            .dayOfMonth(getForSchedule(Calendar.DAY_OF_MONTH, cal))
+            .hour(getForSchedule(Calendar.HOUR_OF_DAY, cal))
+            .minute(getForSchedule(Calendar.MINUTE, cal))
+            .second(getForSchedule(Calendar.SECOND, cal));
+    }
+
+    public static int getForSchedule(final int field, final Calendar... calendars) {
+        int result = 0;
+        Calendar cal = null;
+        if (calendars.length == 0) {
+            cal = Calendar.getInstance();
+        } else {
+            cal = calendars[0];
+        }
+        result = cal.get(field);
+        if (field == Calendar.DAY_OF_WEEK) {
+            result--; // 0 and 7 are both Sunday
+            if (result == 0) {
+                result = (Math.random() < 0.5) ? 0 : 7;
+            }
+        } else if (field == Calendar.MONTH) {
+            result++;
+        }
+        return result;
+    }
+
     @Singleton
     @Startup
     @Lock(LockType.READ)
@@ -85,4 +135,58 @@
             timer.cancel();
         }
     }
+
+    @Singleton
+    @Startup
+    @Lock(LockType.READ)
+    public static class TimerNeverExpires {
+
+        @Resource
+        private TimerService timerService;
+
+        private int ok = 0;
+
+        @Timeout
+        public void timeout(final Timer timer) {
+            ok++;
+        }
+
+        public Timer createTimer(final ScheduleExpression exp) {
+            return timerService.createCalendarTimer(exp, new TimerConfig("TimerNeverExpires", false));
+        }
+
+        public String passIfNoMoreTimeouts(final Timer t) {
+            String result = "";
+            try {
+                Date nextTimeout = t.getNextTimeout();
+                throw new RuntimeException(
+                    "Expecting NoSuchObjectLocalException or NoMoreTimeoutsException "
+                    + "when accessing getNextTimeout, but actual " + nextTimeout);
+
+            } catch (final NoMoreTimeoutsException e) {
+                result += " Got expected " + e;
+
+            } catch (final NoSuchObjectLocalException e) {
+                result += " Got expected " + e;
+
+            }
+
+            try {
+                long timeRemaining = t.getTimeRemaining();
+                throw new RuntimeException(
+                    "Expecting NoSuchObjectLocalException or NoMoreTimeoutsException "
+                    + "when accessing getTimeRemaining, but actual " + timeRemaining);
+
+            } catch (final NoMoreTimeoutsException e) {
+                result += " Got expected " + e;
+
+            } catch (final NoSuchObjectLocalException e) {
+                result += " Got expected " + e;
+
+            }
+            return result;
+        }
+
+
+    }
 }
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java b/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
index b23ff0a..869920b 100644
--- a/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
+++ b/container/openejb-core/src/test/java/org/apache/openejb/util/PropertyPlaceHolderTest.java
@@ -76,4 +76,193 @@
         final String foo = PropertyPlaceHolderHelper.simpleValue("jdbc://${PropertyPlaceHolderTest1}/${PropertyPlaceHolderTest2}");
         assertEquals("jdbc://uno/due", foo);
     }
+
+    /*
+     * Start of tests related to TOMEE-2968
+     */
+
+    @Test
+    public void singleCurlyBrace() {
+        final String foo = PropertyPlaceHolderHelper.simpleValue("tiger...}");
+        assertEquals("tiger...}", foo);
+    }
+
+    @Test
+    public void singleCurlyBraceAsStringOrCharArray() {
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("tiger...}");
+        assertEquals("tiger...}", foo);
+    }
+
+    @Test
+    public void singleCurlyBraceWithSubstitution() {
+        SystemInstance.get().setProperty("PropertyPlaceHolderTest1", "tiger...}");
+        SystemInstance.get().setProperty("PropertyPlaceHolderTest2", "due");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${PropertyPlaceHolderTest1}/${PropertyPlaceHolderTest2}");
+        assertEquals("tiger...}/due", foo);
+    }
+
+    @Test
+    public void singleCurlyBraceAsStringOrCharArrayWithSubstitution() {
+        SystemInstance.get().setProperty("PropertyPlaceHolderTest1", "tiger...}");
+        SystemInstance.get().setProperty("PropertyPlaceHolderTest2", "due");
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${PropertyPlaceHolderTest1}/${PropertyPlaceHolderTest2}");
+        assertEquals("tiger...}/due", foo);
+    }
+
+    @Test
+    public void singleCurlyBraceAfterVariableReplacementGroup() {
+        SystemInstance.get().setProperty("foo", "bar");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${foo}}");
+        assertEquals("bar}", foo);
+    }
+
+    @Test
+    public void singleCurlyBraceAsStringOrCharArrayAfterVariableReplacementGroup() {
+        SystemInstance.get().setProperty("foo", "bar");
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${foo}}");
+        assertEquals("bar}", foo);
+    }
+
+    @Test
+    public void escapeCharacterSubstitutionSkip() {
+        SystemInstance.get().setProperty("{foo}", "bar");
+        //$ is treated as an escape character, thus skipping substitution of variable with key = '{foo}'.
+        final String foo = PropertyPlaceHolderHelper.simpleValue("$${{foo}}");
+        assertEquals("${{foo}}", foo);
+    }
+
+    @Test
+    public void escapeCharacterSubstitutionSkipAsStringOrCharArray() {
+        SystemInstance.get().setProperty("{foo}", "bar");
+        //$ is treated as an escape character, thus skipping substitution of variable with key = '{foo}'.
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("$${{foo}}");
+        assertEquals("${{foo}}", foo);
+    }
+
+    @Test
+    public void nestingSubstitution() {
+        SystemInstance.get().setProperty("foo", "abc}");
+        SystemInstance.get().setProperty("abc}", "foo");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${${foo}}");
+        assertEquals("foo", foo);
+    }
+
+    @Test
+    public void nestingSubstitutionAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "abc}");
+        SystemInstance.get().setProperty("abc}", "foo");
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${${foo}}");
+        assertEquals("foo", foo);
+    }
+
+    @Test
+    public void escapedNestingWithNonExistentKey() {
+        SystemInstance.get().setProperty("bar", "bar");
+        //'$${foo}' is substituted to '${foo}', which does not exist. `${foo}` is thus substituted to its key `foo`.
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${$${foo}}");
+        assertEquals("foo", foo);
+    }
+
+    @Test
+    public void escapedNestingWithNonExistentKeyAsStringOrCharArray() {
+        SystemInstance.get().setProperty("bar", "bar");
+        //'$${foo}' is substituted to '${foo}', which does not exist. `${foo}` is thus substituted to its key `foo`.
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${$${foo}}");
+        assertEquals("foo", foo);
+    }
+
+    @Test
+    public void combinedNestingWithNonExistentKey() {
+        SystemInstance.get().setProperty("foo", "bar");
+        //variable for key 'bar' does not exist
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${foo}-${${bar}}");
+        assertEquals("bar-bar", foo);
+    }
+
+    @Test
+    public void combinedNestingWithNonExistentKeyAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "bar");
+        //variable for key 'bar' does not exist
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${foo}-${${bar}}");
+        assertEquals("bar-bar", foo);
+    }
+
+    @Test
+    public void nestedMultipleReplacementsWithClosingCurlyBraces() {
+        SystemInstance.get().setProperty("foo", "abc}");
+        SystemInstance.get().setProperty("abc}", "food");
+        SystemInstance.get().setProperty("bar", "yammie");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${bar}/${${foo}}");
+        assertEquals("yammie/food", foo);
+    }
+
+    @Test
+    public void nestedMultipleReplacementsWithClosingCurlyBracesAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "abc}");
+        SystemInstance.get().setProperty("abc}", "food");
+        SystemInstance.get().setProperty("bar", "yammie");
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${bar}/${${foo}}");
+        assertEquals("yammie/food", foo);
+    }
+
+    @Test
+    public void nestedMissingPropertiesKeyAsStringOrCharArray() {
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${${foo}.bar}");
+        assertEquals("foo.bar", foo);
+    }
+
+    @Test
+    public void nestedMissingPropertiesKey() {
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${${foo}.bar}");
+        assertEquals("foo.bar", foo);
+    }
+
+    @Test
+    public void nestedPropertiesKeyAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("bar.bar", "val");
+        final Object foo = PropertyPlaceHolderHelper.simpleValueAsStringOrCharArray("${${foo}.bar}");
+        assertEquals("val", foo);
+    }
+
+    @Test
+    public void nestedPropertiesKey() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("bar.bar", "val");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${${foo}.bar}");
+        assertEquals("val", foo);
+    }
+
+    @Test
+    public void escapedPropertyKey() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("bar", "val");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("$${foo}.${bar}");
+        assertEquals("${foo}.val", foo);
+    }
+
+    @Test
+    public void escapedPropertyKeyAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("bar", "val");
+        final Object foo = PropertyPlaceHolderHelper.simpleValue("$${foo}.${bar}");
+        assertEquals("${foo}.val", foo);
+    }
+
+    @Test
+    public void escapedPropertyKeyUnknownAndKnownVar() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("known", "bar");
+        final String foo = PropertyPlaceHolderHelper.simpleValue("${bar}.$${foo}.${known}");
+        assertEquals("bar.${foo}.bar", foo);
+    }
+
+    @Test
+    public void escapedPropertyKeyUnknownAndKnownVarAsStringOrCharArray() {
+        SystemInstance.get().setProperty("foo", "bar");
+        SystemInstance.get().setProperty("known", "bar");
+        final Object foo = PropertyPlaceHolderHelper.simpleValue("${bar}.$${foo}.${known}");
+        assertEquals("bar.${foo}.bar", foo);
+    }
+
 }
diff --git a/container/openejb-javaagent/pom.xml b/container/openejb-javaagent/pom.xml
index 620cad6..a2cbe79 100644
--- a/container/openejb-javaagent/pom.xml
+++ b/container/openejb-javaagent/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-javaagent</artifactId>
diff --git a/container/openejb-jee-accessors/pom.xml b/container/openejb-jee-accessors/pom.xml
index 5080214..0bfb023 100644
--- a/container/openejb-jee-accessors/pom.xml
+++ b/container/openejb-jee-accessors/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-jee-accessors</artifactId>
diff --git a/container/openejb-jee/pom.xml b/container/openejb-jee/pom.xml
index 92f17b3..643a0f5 100644
--- a/container/openejb-jee/pom.xml
+++ b/container/openejb-jee/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-jee</artifactId>
@@ -39,19 +39,6 @@
     </openejb.osgi.import.pkg>
   </properties>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/schema/xml.xsd</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
diff --git a/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/unit/JaxbPersistenceFactory.java b/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/unit/JaxbPersistenceFactory.java
index 1ca0617..6caa2dc 100644
--- a/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/unit/JaxbPersistenceFactory.java
+++ b/container/openejb-jee/src/main/java/org/apache/openejb/jee/jpa/unit/JaxbPersistenceFactory.java
@@ -80,7 +80,11 @@
 
         @Override
         protected String eeUri(final String uri) {
-            return "http://xmlns.jcp.org/xml/ns/persistence".equals(uri) ? "http://java.sun.com/xml/ns/persistence": uri;
+            // there should not be any other namespace, but let's see if we can match all of them
+            // http://java.sun.com/xml/ns/persistence
+            // http://xmlns.jcp.org/xml/ns/persistence
+            // https://jakarta.ee/xml/ns/persistence
+            return uri != null && uri.contains("/persistence") ? PERSISTENCE_SCHEMA: uri;
         }
 
         @Override
diff --git a/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/PersistenceXmlTest.java b/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/PersistenceXmlTest.java
index cc0dc4f..2d1d317 100644
--- a/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/PersistenceXmlTest.java
+++ b/container/openejb-jee/src/test/java/org/apache/openejb/jee/jpa/PersistenceXmlTest.java
@@ -20,6 +20,7 @@
 
 import junit.framework.TestCase;
 import org.apache.openejb.jee.JAXBContextFactory;
+import org.apache.openejb.jee.jpa.unit.JaxbPersistenceFactory;
 import org.apache.openejb.jee.jpa.unit.Persistence;
 import org.custommonkey.xmlunit.Diff;
 import org.custommonkey.xmlunit.ElementNameAndAttributeQualifier;
@@ -97,6 +98,41 @@
         assertTrue("Files are similar " + myDiff, myDiff.similar());
     }
 
+    public void testPersistenceJakarta() throws Exception {
+
+        // make sure we can still parse previous versions
+        {
+            final URL resource = this.getClass().getClassLoader().getResource("persistence_2.0-example.xml");
+            final InputStream in = resource.openStream();
+
+            final Persistence element = JaxbPersistenceFactory.getPersistence(Persistence.class, in);
+
+            assertNotNull(element);
+            System.out.println("unmarshalled " + element);
+        }
+        {
+            final URL resource = this.getClass().getClassLoader().getResource("persistence-example.xml");
+            final InputStream in = resource.openStream();
+
+            final Persistence element = JaxbPersistenceFactory.getPersistence(Persistence.class, in);
+
+            assertNotNull(element);
+            System.out.println("unmarshalled " + element);
+        }
+
+        // try new jakarta namespace
+        {
+            final URL resource = this.getClass().getClassLoader().getResource("persistence_2.0-jakarta.xml");
+            final InputStream in = resource.openStream();
+
+            final Persistence element = JaxbPersistenceFactory.getPersistence(Persistence.class, in);
+
+            assertNotNull(element);
+            System.out.println("unmarshalled " + element);
+        }
+
+    }
+
     private java.lang.String readContent(InputStream in) throws IOException {
         final StringBuilder sb = new StringBuilder();
         in = new BufferedInputStream(in);
diff --git a/container/openejb-jee/src/test/resources/persistence_2.0-jakarta.xml b/container/openejb-jee/src/test/resources/persistence_2.0-jakarta.xml
new file mode 100644
index 0000000..04f1240
--- /dev/null
+++ b/container/openejb-jee/src/test/resources/persistence_2.0-jakarta.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!--
+
+    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.
+-->
+
+<!-- $Rev$ -->
+<persistence xmlns="https://jakarta.ee/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence     https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd" version="3.0">
+
+    <persistence-unit transaction-type="JTA" name="foo">
+        <description>description</description>
+        <provider>org.acme.Provider</provider>
+        <jta-data-source>jtadatasource</jta-data-source>
+        <non-jta-data-source>nonjtadatasource</non-jta-data-source>
+        <mapping-file>mappingfile1</mapping-file>
+        <mapping-file>mappingfile2</mapping-file>
+        <jar-file>jarfile1</jar-file>
+        <jar-file>jarfile2</jar-file>
+        <class>org.acme.Person</class>
+        <class>org.acme.Animal</class>
+        <exclude-unlisted-classes>true</exclude-unlisted-classes>
+        <shared-cache-mode>ALL</shared-cache-mode>
+        <validation-mode>AUTO</validation-mode>
+        <properties>
+            <property value="rab" name="bar"/>
+            <property value="zab" name="baz"/>
+            <property value="oof" name="foo"/>
+        </properties>
+    </persistence-unit>
+    <persistence-unit transaction-type="RESOURCE_LOCAL" name="bar">
+        <description>description2</description>
+        <provider>org.acme.Provider2</provider>
+        <jta-data-source>jtadatasource2</jta-data-source>
+        <non-jta-data-source>nonjtadatasource2</non-jta-data-source>
+        <mapping-file>mappingfile12</mapping-file>
+        <mapping-file>mappingfile22</mapping-file>
+        <jar-file>jarfile12</jar-file>
+        <jar-file>jarfile22</jar-file>
+        <class>org.acme.Person2</class>
+        <class>org.acme.Animal2</class>
+        <exclude-unlisted-classes>true</exclude-unlisted-classes>
+        <properties>
+            <property value="rab2" name="bar2"/>
+            <property value="oof2" name="foo2"/>
+            <property value="zab2" name="baz2"/>
+        </properties>
+    </persistence-unit>
+</persistence>
diff --git a/container/openejb-jpa-integration/pom.xml b/container/openejb-jpa-integration/pom.xml
index 5d9793c..0f207ca 100644
--- a/container/openejb-jpa-integration/pom.xml
+++ b/container/openejb-jpa-integration/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/container/openejb-junit/pom.xml b/container/openejb-junit/pom.xml
index 2f1150f..d9d15d1 100644
--- a/container/openejb-junit/pom.xml
+++ b/container/openejb-junit/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/container/openejb-junit/src/main/java/org/apache/openejb/junit/context/OpenEjbTestContext.java b/container/openejb-junit/src/main/java/org/apache/openejb/junit/context/OpenEjbTestContext.java
index 8242d06..28b5728 100644
--- a/container/openejb-junit/src/main/java/org/apache/openejb/junit/context/OpenEjbTestContext.java
+++ b/container/openejb-junit/src/main/java/org/apache/openejb/junit/context/OpenEjbTestContext.java
@@ -136,7 +136,9 @@
     @Override
     public void close() {
         try {
-            initialContext.close();
+            if(initialContext != null) {
+                initialContext.close();
+            }
         } catch (final NamingException e) {
             // ignored
         }
diff --git a/container/openejb-junit5-backward/LICENSE b/container/openejb-junit5-backward/LICENSE
new file mode 100644
index 0000000..10d7a73
--- /dev/null
+++ b/container/openejb-junit5-backward/LICENSE
@@ -0,0 +1,417 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
+=================================================================================
+JUnit
+
+Eclipse Public License - v 1.0
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
+CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+      a) in the case of the initial Contributor, the initial code and
+         documentation distributed under this Agreement, and
+      b) in the case of each subsequent Contributor:
+
+      i) changes to the Program, and
+
+      ii) additions to the Program;
+
+      where such changes and/or additions to the Program originate from and are
+distributed by that particular Contributor. A Contribution 'originates' from a
+Contributor if it was added to the Program by such Contributor itself or anyone
+acting on such Contributor's behalf. Contributions do not include additions to
+the Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii) are
+not derivative works of the Program. 
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are
+necessarily infringed by the use or sale of its Contribution alone or when
+combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement,
+including all Contributors.
+
+2. GRANT OF RIGHTS
+
+      a) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free copyright license to
+reproduce, prepare derivative works of, publicly display, publicly perform,
+distribute and sublicense the Contribution of such Contributor, if any, and
+such derivative works, in source code and object code form.
+
+      b) Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide, royalty-free patent license under
+Licensed Patents to make, use, sell, offer to sell, import and otherwise
+transfer the Contribution of such Contributor, if any, in source code and
+object code form. This patent license shall apply to the combination of the
+Contribution and the Program if, at the time the Contribution is added by the
+Contributor, such addition of the Contribution causes such combination to be
+covered by the Licensed Patents. The patent license shall not apply to any
+other combinations which include the Contribution. No hardware per se is
+licensed hereunder. 
+
+      c) Recipient understands that although each Contributor grants the
+licenses to its Contributions set forth herein, no assurances are provided by
+any Contributor that the Program does not infringe the patent or other
+intellectual property rights of any other entity. Each Contributor disclaims
+any liability to Recipient for claims brought by any other entity based on
+infringement of intellectual property rights or otherwise. As a condition to
+exercising the rights and licenses granted hereunder, each Recipient hereby
+assumes sole responsibility to secure any other intellectual property rights
+needed, if any. For example, if a third party patent license is required to
+allow Recipient to distribute the Program, it is Recipient's responsibility to
+acquire that license before distributing the Program.
+
+      d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright license
+set forth in this Agreement. 
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under
+its own license agreement, provided that:
+
+      a) it complies with the terms and conditions of this Agreement; and
+
+      b) its license agreement:
+
+      i) effectively disclaims on behalf of all Contributors all warranties and
+conditions, express and implied, including warranties or conditions of title
+and non-infringement, and implied warranties or conditions of merchantability
+and fitness for a particular purpose; 
+
+      ii) effectively excludes on behalf of all Contributors all liability for
+damages, including direct, indirect, special, incidental and consequential
+damages, such as lost profits; 
+
+      iii) states that any provisions which differ from this Agreement are
+offered by that Contributor alone and not by any other party; and
+
+      iv) states that source code for the Program is available from such
+Contributor, and informs licensees how to obtain it in a reasonable manner on
+or through a medium customarily used for software exchange. 
+
+When the Program is made available in source code form:
+
+      a) it must be made available under this Agreement; and 
+
+      b) a copy of this Agreement must be included with each copy of the
+Program. 
+
+Contributors may not remove or alter any copyright notices contained within the
+Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if
+any, in a manner that reasonably allows subsequent Recipients to identify the
+originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with
+respect to end users, business partners and the like. While this license is
+intended to facilitate the commercial use of the Program, the Contributor who
+includes the Program in a commercial product offering should do so in a manner
+which does not create potential liability for other Contributors. Therefore, if
+a Contributor includes the Program in a commercial product offering, such
+Contributor ("Commercial Contributor") hereby agrees to defend and indemnify
+every other Contributor ("Indemnified Contributor") against any losses, damages
+and costs (collectively "Losses") arising from claims, lawsuits and other legal
+actions brought by a third party against the Indemnified Contributor to the
+extent caused by the acts or omissions of such Commercial Contributor in
+connection with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In order
+to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
+Contributor in writing of such claim, and b) allow the Commercial Contributor
+to control, and cooperate with the Commercial Contributor in, the defense and
+any related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product
+offering, Product X. That Contributor is then a Commercial Contributor. If that
+Commercial Contributor then makes performance claims, or offers warranties
+related to Product X, those performance claims and warranties are such
+Commercial Contributor's responsibility alone. Under this section, the
+Commercial Contributor would have to defend claims against the other
+Contributors related to those performance claims and warranties, and if a court
+requires any other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each
+Recipient is solely responsible for determining the appropriateness of using
+and distributing the Program and assumes all risks associated with its exercise
+of rights under this Agreement, including but not limited to the risks and
+costs of program errors, compliance with applicable laws, damage to or loss of
+data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
+CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
+WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable
+law, it shall not affect the validity or enforceability of the remainder of the
+terms of this Agreement, and without further action by the parties hereto, such
+provision shall be reformed to the minimum extent necessary to make such
+provision valid and enforceable.
+
+If Recipient institutes patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software or
+hardware) infringes such Recipient's patent(s), then such Recipient's rights
+granted under Section 2(b) shall terminate as of the date such litigation is
+filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to
+comply with any of the material terms or conditions of this Agreement and does
+not cure such failure in a reasonable period of time after becoming aware of
+such noncompliance. If all Recipient's rights under this Agreement terminate,
+Recipient agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient's obligations under this Agreement
+and any licenses granted by Recipient relating to the Program shall continue
+and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in
+order to avoid inconsistency the Agreement is copyrighted and may only be
+modified in the following manner. The Agreement Steward reserves the right to
+publish new versions (including revisions) of this Agreement from time to time.
+No one other than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to
+serve as the Agreement Steward to a suitable separate entity. Each new version
+of the Agreement will be given a distinguishing version number. The Program
+(including Contributions) may always be distributed subject to the version of
+the Agreement under which it was received. In addition, after a new version of
+the Agreement is published, Contributor may elect to distribute the Program
+(including its Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
+the intellectual property of any Contributor under this Agreement, whether
+expressly, by implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the
+intellectual property laws of the United States of America. No party to this
+Agreement will bring a legal action under this Agreement more than one year
+after the cause of action arose. Each party waives its rights to a jury trial
+in any resulting litigation. 
+
diff --git a/container/openejb-junit5-backward/NOTICE b/container/openejb-junit5-backward/NOTICE
new file mode 100644
index 0000000..a9f2f42
--- /dev/null
+++ b/container/openejb-junit5-backward/NOTICE
@@ -0,0 +1,9 @@
+
+Apache OpenEJB
+Copyright 1999-2014 The Apache OpenEJB development community
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+==========================================================
+junit - JUnit is a simple framework to write repeatable tests (http://junit.org/)
+License: Eclipse Public License - v 1.0
diff --git a/container/openejb-junit5-backward/pom.xml b/container/openejb-junit5-backward/pom.xml
new file mode 100644
index 0000000..bdd326a
--- /dev/null
+++ b/container/openejb-junit5-backward/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>container</artifactId>
+        <groupId>org.apache.tomee</groupId>
+        <version>8.0.7-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>openejb-junit5-backward</artifactId>
+    <packaging>jar</packaging>
+    <name>TomEE :: Container :: JUnit 5 :: Backward Compatibility</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <version>${junit.jupiter.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-engine</artifactId>
+            <version>${junit.jupiter.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>openejb-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>openejb-junit</artifactId>
+            <version>${project.version}</version>
+            <exclusions>
+                <!--Important: We do not want to include transient JUnit4 dependency here! -->
+                <exclusion>
+                    <groupId>junit</groupId>
+                    <artifactId>junit</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+    <properties>
+        <tomee.build.name>${project.groupId}.container.junit5</tomee.build.name>
+        <netbeans.hint.license>openejb</netbeans.hint.license>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire.junit5.version}</version>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/OpenEjbExtension.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/OpenEjbExtension.java
new file mode 100644
index 0000000..0cd2efc
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/OpenEjbExtension.java
@@ -0,0 +1,61 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.context.OpenEjbTestContext;
+import org.junit.jupiter.api.extension.AfterEachCallback;
+import org.junit.jupiter.api.extension.BeforeEachCallback;
+import org.junit.jupiter.api.extension.ExtensionContext;
+
+public class OpenEjbExtension implements BeforeEachCallback, AfterEachCallback {
+
+    private final String role;
+    private OpenEjbTestContext classTestContext;
+
+    public OpenEjbExtension() {
+        this(null);
+    }
+
+    public OpenEjbExtension(String role) {
+        this.role = role;
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext extensionContext) throws Exception {
+        classTestContext = newTestContext(extensionContext, role);
+        classTestContext.configureTest(extensionContext.getTestInstance().get());
+    }
+
+    public OpenEjbTestContext newTestContext(ExtensionContext extensionContext, final String roleName) {
+        if (!extensionContext.getTestMethod().isPresent()) {
+            if (classTestContext == null) {
+                classTestContext = new OpenEjbTestContext(extensionContext.getTestClass().get());
+            }
+            return classTestContext;
+        } else {
+            return new OpenEjbTestContext(extensionContext.getTestMethod().get(), roleName);
+        }
+    }
+
+
+    @Override
+    public void afterEach(ExtensionContext extensionContext) throws Exception {
+        if (classTestContext != null) {
+            classTestContext.close();
+        }
+    }
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithEjbContainer.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithEjbContainer.java
new file mode 100644
index 0000000..0d0c6c9
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithEjbContainer.java
@@ -0,0 +1,33 @@
+/*
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit5.jee.EjbContainerExtension;
+import org.apache.openejb.junit5.jee.transaction.TransactionExtension;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@ExtendWith(EjbContainerExtension.class)
+@ExtendWith(TransactionExtension.class)
+@Target(ElementType.TYPE)
+public @interface RunWithEjbContainer  {
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithOpenEjb.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithOpenEjb.java
new file mode 100644
index 0000000..d340f62
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/RunWithOpenEjb.java
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@ExtendWith(OpenEjbExtension.class)
+@Target(ElementType.TYPE)
+public @interface RunWithOpenEjb {
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/EjbContainerExtension.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/EjbContainerExtension.java
new file mode 100644
index 0000000..13bd310
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/EjbContainerExtension.java
@@ -0,0 +1,170 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5.jee;
+
+import org.apache.openejb.Injector;
+import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.OpenEjbContainer;
+import org.apache.openejb.injection.FallbackPropertyInjector;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.junit.jee.config.Property;
+import org.apache.openejb.junit.jee.config.PropertyFile;
+import org.apache.openejb.junit.jee.resources.TestResource;
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.osgi.client.LocalInitialContextFactory;
+import org.apache.openejb.testing.TestInstance;
+import org.apache.openejb.util.Classes;
+import org.junit.jupiter.api.extension.*;
+
+import javax.ejb.embeddable.EJBContainer;
+import javax.naming.Context;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.Hashtable;
+import java.util.Optional;
+
+public class EjbContainerExtension implements AfterAllCallback, BeforeAllCallback, BeforeEachCallback {
+
+    private java.util.Properties properties;
+    private EJBContainer container;
+
+    @Override
+    public void beforeAll(ExtensionContext extensionContext) throws Exception {
+
+        Optional<Class<?>> oClazz = extensionContext.getTestClass();
+
+        if (!oClazz.isPresent()) {
+            throw new RuntimeException("Could not get class from extension context");
+        }
+        Class<?> clazz = oClazz.get();
+
+        properties = new java.util.Properties();
+
+        { // set caller first to let it be overridable by @Property
+            final StringBuilder b = new StringBuilder();
+            for (final Class<?> c : Classes.ancestors(clazz)) {
+                if (c != Object.class) {
+                    b.append(c.getName()).append(",");
+                }
+            }
+            b.setLength(b.length() - 1);
+            properties.put(OpenEjbContainer.Provider.OPENEJB_ADDITIONNAL_CALLERS_KEY, b.toString());
+        }
+
+        // default implicit config
+        {
+            try (final InputStream is = clazz.getClassLoader().getResourceAsStream("openejb-junit.properties")) {
+                if (is != null) {
+                    properties.load(is);
+                }
+            }
+        }
+
+        final PropertyFile propertyFile = clazz.getAnnotation(PropertyFile.class);
+        if (propertyFile != null) {
+            final String path = propertyFile.value();
+            if (!path.isEmpty()) {
+                InputStream is = null;
+                try {
+                    is = clazz.getClassLoader().getResourceAsStream(path);
+                    if (is == null) {
+                        final File file = new File(path);
+                        if (file.exists()) {
+                            is = new FileInputStream(file);
+                        } else {
+                            throw new OpenEJBException("properties resource '" + path + "' not found");
+                        }
+                    }
+
+                    properties.load(is);
+                } finally {
+                    if (is != null) {
+                        is.close();
+                    }
+                }
+
+            }
+        }
+
+        final Properties annotationConfig = clazz.getAnnotation(Properties.class);
+        if (annotationConfig != null) {
+            for (final Property property : annotationConfig.value()) {
+                properties.put(property.key(), property.value());
+            }
+        }
+
+        if (!properties.containsKey(Context.INITIAL_CONTEXT_FACTORY)) {
+            properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
+        }
+
+        container = EJBContainer.createEJBContainer(properties);
+    }
+
+    @Override
+    public void beforeEach(ExtensionContext extensionContext) throws Exception {
+        Class<?> clazz = extensionContext.getTestClass().isPresent()  ? extensionContext.getTestClass().get() : null;
+        Object test =  extensionContext.getTestInstance().isPresent() ? extensionContext.getTestInstance().get() : null;
+
+        if (clazz != null){
+
+            while (!Object.class.equals(clazz)) {
+                for (final Field field : clazz.getDeclaredFields()) {
+                    final TestResource resource = field.getAnnotation(TestResource.class);
+                    if (resource != null) {
+                        if (Context.class.isAssignableFrom(field.getType())) {
+                            field.setAccessible(true);
+                            field.set(Modifier.isStatic(field.getModifiers()) ? null : test, getContainer().getContext());
+                        } else if (Hashtable.class.isAssignableFrom(field.getType())) {
+                            field.setAccessible(true);
+                            field.set(Modifier.isStatic(field.getModifiers()) ? null : test, getProperties());
+                        } else if (EJBContainer.class.isAssignableFrom(field.getType())) {
+                            field.setAccessible(true);
+                            field.set(Modifier.isStatic(field.getModifiers()) ? null : test, getContainer());
+                        } else {
+                            throw new OpenEJBException("can't inject field '" + field.getName() + "'");
+                        }
+                    }
+                }
+                clazz = clazz.getSuperclass();
+            }
+        }
+
+        if (test != null) {
+            SystemInstance.get().setComponent(TestInstance.class, new TestInstance(test.getClass(), test));
+            SystemInstance.get().getComponent(FallbackPropertyInjector.class); // force eager init (MockitoInjector initialize everything in its constructor)
+            Injector.inject(test);
+        }
+    }
+
+    @Override
+    public void afterAll(ExtensionContext extensionContext) throws Exception {
+        if (container != null) {
+            container.close();
+        }
+    }
+
+    public java.util.Properties getProperties() {
+        return properties;
+    }
+
+    public EJBContainer getContainer() {
+        return container;
+    }
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/transaction/TransactionExtension.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/transaction/TransactionExtension.java
new file mode 100644
index 0000000..369f176
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/jee/transaction/TransactionExtension.java
@@ -0,0 +1,45 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5.jee.transaction;
+
+import org.apache.openejb.core.transaction.JtaTransactionPolicyFactory;
+import org.apache.openejb.core.transaction.TransactionPolicy;
+import org.apache.openejb.core.transaction.TransactionType;
+import org.apache.openejb.junit.jee.transaction.Transaction;
+import org.apache.openejb.loader.SystemInstance;
+import org.junit.jupiter.api.extension.*;
+
+import javax.transaction.TransactionManager;
+import java.lang.reflect.Method;
+
+public class TransactionExtension implements AfterTestExecutionCallback {
+
+    @Override
+    public void afterTestExecution(ExtensionContext extensionContext) throws Exception {
+        final Method mtd = extensionContext.getTestMethod().get();
+        final Transaction tx = mtd.getAnnotation(Transaction.class);
+        if (tx != null) {
+            final TransactionManager transactionManager = SystemInstance.get().getComponent(TransactionManager.class);
+            final JtaTransactionPolicyFactory factory = new JtaTransactionPolicyFactory(transactionManager);
+            final TransactionPolicy policy = factory.createTransactionPolicy(TransactionType.RequiresNew);
+            if (tx.rollback()) {
+                policy.setRollbackOnly();
+            }
+            policy.commit();
+        }
+    }
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/RunWithOpenEjbTestSecurity.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/RunWithOpenEjbTestSecurity.java
new file mode 100644
index 0000000..2d1efb4
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/RunWithOpenEjbTestSecurity.java
@@ -0,0 +1,30 @@
+/*
+ * 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.
+ */
+package org.apache.openejb.junit5.security;
+
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@ExtendWith(TestSecurityTemplateInvocationContextProvider.class)
+@Target(ElementType.TYPE)
+public @interface RunWithOpenEjbTestSecurity {
+}
diff --git a/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/TestSecurityTemplateInvocationContextProvider.java b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/TestSecurityTemplateInvocationContextProvider.java
new file mode 100644
index 0000000..66ba44e
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/java/org/apache/openejb/junit5/security/TestSecurityTemplateInvocationContextProvider.java
@@ -0,0 +1,127 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5.security;
+
+import org.apache.openejb.junit.TestSecurity;
+import org.apache.openejb.junit5.OpenEjbExtension;
+import org.junit.jupiter.api.extension.*;
+
+import javax.ejb.EJBAccessException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Stream;
+
+public class TestSecurityTemplateInvocationContextProvider implements TestTemplateInvocationContextProvider {
+    @Override
+    public boolean supportsTestTemplate(ExtensionContext extensionContext) {
+        return true;
+    }
+
+    @Override
+    public Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(ExtensionContext extensionContext) {
+
+        TestSecurity testSecurity = null;
+        if (extensionContext.getTestMethod().isPresent() && extensionContext.getTestMethod().get().isAnnotationPresent(TestSecurity.class)) {
+            testSecurity = extensionContext.getTestMethod().get().getAnnotation(TestSecurity.class);
+        } else if (extensionContext.getTestClass().isPresent() && extensionContext.getTestClass().get().isAnnotationPresent(TestSecurity.class)) {
+            testSecurity = extensionContext.getTestClass().get().getAnnotation(TestSecurity.class);
+        }
+
+        if (testSecurity != null) {
+            String[] authorized = testSecurity.authorized();
+            String[] unauthorized = testSecurity.unauthorized();
+
+            List<TestTemplateInvocationContext> contexts = new ArrayList<>();
+
+            for (String role : authorized) {
+                contexts.add(invocationContext(role, true));
+            }
+            for (String role : unauthorized) {
+                contexts.add(invocationContext(role, false));
+            }
+
+            return contexts.stream();
+        } else {
+            //no security annotations present, go with the default invocation context
+
+
+           return Stream.of(new TestTemplateInvocationContext() {
+               @Override
+               public List<Extension> getAdditionalExtensions() {
+                   return Collections.singletonList(new OpenEjbExtension());
+               }
+           });
+        }
+
+    }
+
+
+    private TestTemplateInvocationContext invocationContext(String role, boolean authorized) {
+        return new TestTemplateInvocationContext() {
+
+            private boolean ejbAccessThrown = false;
+
+            @Override
+            public String getDisplayName(int invocationIndex) {
+                if(role.equals(TestSecurity.UNAUTHENTICATED)) {
+                    return "unauthenticated";
+                }
+                return role;
+            }
+
+            @Override
+            public List<Extension> getAdditionalExtensions() {
+                List<Extension> extensions = new ArrayList<>();
+
+                extensions.add(new TestExecutionExceptionHandler() {
+                    @Override
+                    public void handleTestExecutionException(ExtensionContext extensionContext, Throwable throwable) throws Throwable {
+                        if (!authorized) {
+                            if (throwable instanceof EJBAccessException) {
+                                //ok - this would be expected here, do not fail the test!
+                                ejbAccessThrown = true;
+                                return;
+                            } else {
+                                throw throwable;
+                            }
+                        }
+                        throw throwable;
+                    }
+                });
+
+                extensions.add(new AfterEachCallback() {
+                    @Override
+                    public void afterEach(ExtensionContext extensionContext) throws Exception {
+                        if (!authorized) {
+                            if (!ejbAccessThrown) {
+                                throw new RuntimeException("Expected 'EJBAccessException' but caught none.");
+                            }
+                        }
+                    }
+                });
+
+                extensions.add(new OpenEjbExtension(role));
+
+                return extensions;
+
+
+
+            }
+        };
+    }
+}
\ No newline at end of file
diff --git a/container/openejb-junit5-backward/src/main/resources/META-INF/default-openejb-test-config.properties b/container/openejb-junit5-backward/src/main/resources/META-INF/default-openejb-test-config.properties
new file mode 100644
index 0000000..d5afb6a
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/resources/META-INF/default-openejb-test-config.properties
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory
+org.apache.openejb.junit.default-config=true
\ No newline at end of file
diff --git a/container/openejb-junit5-backward/src/main/resources/META-INF/openejb-test-login.config b/container/openejb-junit5-backward/src/main/resources/META-INF/openejb-test-login.config
new file mode 100644
index 0000000..e8624b0
--- /dev/null
+++ b/container/openejb-junit5-backward/src/main/resources/META-INF/openejb-test-login.config
@@ -0,0 +1,3 @@
+OpenEjbJunitSecurityRealm {
+    org.apache.openejb.junit.security.TestLoginModule required;
+};
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFile.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFile.java
new file mode 100644
index 0000000..7df2c1a
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFile.java
@@ -0,0 +1,54 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+
+@RunWithOpenEjb
+@ContextConfig(
+    configFile = "/META-INF/test-config.properties"
+)
+public class TestClassConfigFile {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    public TestClassConfigFile() {
+    }
+
+    @Test
+    public void testConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFileAndProperties.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFileAndProperties.java
new file mode 100644
index 0000000..5f168bb
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigFileAndProperties.java
@@ -0,0 +1,62 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@RunWithOpenEjb
+@ContextConfig(
+    configFile = "/META-INF/test-config.properties",
+    properties = {
+        @Property("junit.test-property-override=New Value"),
+        @Property("junit.test-property-file-untrimmed=New Trimmed Value"),
+        @Property(" junit.test-property-file-trimmed = New Untrimmed Value ")
+    }
+)
+public class TestClassConfigFileAndProperties {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    public TestClassConfigFileAndProperties() {
+    }
+
+    @Test
+    public void testConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+        checkProperty("junit.test-property-override", "New Value");
+        checkProperty("junit.test-property-file-untrimmed", "New Trimmed Value");
+        checkProperty("junit.test-property-file-trimmed", "New Untrimmed Value");
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigProperties.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigProperties.java
new file mode 100644
index 0000000..dbf469e
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestClassConfigProperties.java
@@ -0,0 +1,67 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@RunWithOpenEjb
+@ContextConfig(
+    properties = {
+        @Property("java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory"),
+        @Property("junit.test-property=Test String from Properties"),
+        @Property("junit.test-empty-property="),
+        @Property("junit.test-null-property"),
+        @Property(" junit.test-trim-empty-property-key = "),
+        @Property(" junit.test-trim-null-property-key "),
+        @Property(" junit.test-trim-property-key-and-value = trimmed value ")
+    }
+)
+public class TestClassConfigProperties {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    public TestClassConfigProperties() {
+    }
+
+    @Test
+    public void testConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String from Properties");
+        checkProperty("junit.test-empty-property", "");
+        checkProperty("junit.test-null-property", "");
+        checkProperty("junit.test-trim-empty-property-key", "");
+        checkProperty("junit.test-trim-null-property-key", "");
+        checkProperty("junit.test-trim-property-key-and-value", "trimmed value");
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestDualConfigOverride.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestDualConfigOverride.java
new file mode 100644
index 0000000..fe3de35
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestDualConfigOverride.java
@@ -0,0 +1,119 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+
+/**
+ * Here we test class level dual config, with method level overrides. We check some
+ * properties in all tests (even when not in it's config), to ensure overrides work
+ * properly, and also that context sharing doesn't happen.
+ */
+@RunWithOpenEjb
+@ContextConfig(
+    configFile = "/META-INF/test-config.properties",
+    properties = {
+        @Property("junit.test-property-override=New Class Property Value")
+    }
+)
+public class TestDualConfigOverride {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    public TestDualConfigOverride() {
+    }
+
+    @Test
+    public void testClassConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+        checkProperty("junit.test-property-override", "New Class Property Value");
+        checkProperty("junit.test-property-override2", "Original Value 2");
+        checkProperty("junit.test-property-override3", "Original Value 3");
+        assertNull(contextConfig.get("junit.test-new-method-file-property"));
+        assertNull(contextConfig.get("junit.test-new-method-property"));
+    }
+
+    @Test
+    @ContextConfig(
+        configFile = "/META-INF/test-config-method.properties"
+    )
+    public void testMethodFileOverride() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+        checkProperty("junit.test-property-override", "New Class Property Value");
+        checkProperty("junit.test-property-override2", "New Method File Value 2");
+        checkProperty("junit.test-property-override3", "Original Value 3");
+        checkProperty("junit.test-new-method-file-property", "New Method Value");
+        assertNull(contextConfig.get("junit.test-new-method-property"));
+    }
+
+    @Test
+    @ContextConfig(
+        properties = {
+            @Property("junit.test-property-override3=New Method Property Value 3"),
+            @Property("junit.test-new-method-property=New Method Property Value")
+        }
+    )
+    public void testMethodPropertiesOverride() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+        checkProperty("junit.test-property-override", "New Class Property Value");
+        checkProperty("junit.test-property-override2", "Original Value 2");
+        checkProperty("junit.test-property-override3", "New Method Property Value 3");
+        checkProperty("junit.test-new-method-property", "New Method Property Value");
+        assertNull(contextConfig.get("junit.test-new-method-file-property"));
+    }
+
+    @Test
+    @ContextConfig(
+        configFile = "/META-INF/test-config-method.properties",
+        properties = {
+            @Property("junit.test-property-override2=New Method Property Value 2"),
+            @Property("junit.test-new-method-property=New Method Property Value")
+        }
+    )
+    public void testMethodDualOverride() {
+        assertNotNull(contextConfig);
+
+        checkProperty("junit.test-property", "Test String");
+        checkProperty("junit.test-property-override", "New Class Property Value");
+        checkProperty("junit.test-property-override2", "New Method Property Value 2");
+        checkProperty("junit.test-property-override3", "Original Value 3");
+        checkProperty("junit.test-new-method-file-property", "New Method Value");
+        checkProperty("junit.test-new-method-property", "New Method Property Value");
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionDefaultConfig.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionDefaultConfig.java
new file mode 100644
index 0000000..fb2b31b
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionDefaultConfig.java
@@ -0,0 +1,40 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.junit.jee.config.Property;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+@Properties({
+    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
+    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit5-backward.*")
+})
+@RunWithEjbContainer
+public class TestEJBContainerExtensionDefaultConfig {
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private java.util.Properties props;
+
+    @Test
+    public void configIsHere() {
+        assertEquals("true", props.getProperty("implicit-config"));
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionResources.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionResources.java
new file mode 100644
index 0000000..d5f6ea1
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionResources.java
@@ -0,0 +1,58 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.junit.jee.config.Property;
+import org.junit.jupiter.api.Test;
+
+import javax.ejb.embeddable.EJBContainer;
+import javax.naming.Context;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@Properties({ // just a small conf to go faster
+    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
+    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit5-backward.*")
+})
+@RunWithEjbContainer
+public class TestEJBContainerExtensionResources {
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private Context ctx;
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private java.util.Properties props;
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private EJBContainer container;
+
+    @Test
+    public void checkCtx() {
+        assertNotNull(ctx);
+    }
+
+    @Test
+    public void checkProps() {
+        assertNotNull(props);
+    }
+
+    @Test
+    public void checkContainer() {
+        assertNotNull(container);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionWithLocalEJB.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionWithLocalEJB.java
new file mode 100644
index 0000000..1662976
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEJBContainerExtensionWithLocalEJB.java
@@ -0,0 +1,69 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.junit.jee.config.Property;
+import org.apache.openejb.junit5.ejbs.BasicEjbLocal;
+import org.junit.jupiter.api.Test;
+
+import javax.ejb.embeddable.EJBContainer;
+import javax.inject.Inject;
+import javax.naming.Context;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+
+@Properties({
+    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
+    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit5-backward.*")
+})
+@RunWithEjbContainer
+public class TestEJBContainerExtensionWithLocalEJB {
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private Context ctx;
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private java.util.Properties props;
+
+    @org.apache.openejb.junit.jee.resources.TestResource
+    private EJBContainer container;
+
+    @Inject
+    private BasicEjbLocal ejb;
+
+    private void doChecks() {
+        assertNotNull(ctx);
+        assertNotNull(props);
+        assertNotNull(container);
+        assertNotNull(ejb);
+        assertEquals("a b", ejb.concat("a", "b"));
+    }
+
+    @Test
+    public void checkAllIsFine() {
+        doChecks();
+    }
+
+    @Test
+    public void checkAllIsStillFine() {
+        doChecks();
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbBasic.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbBasic.java
new file mode 100644
index 0000000..6e934fe
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbBasic.java
@@ -0,0 +1,73 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.api.LocalClient;
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit5.ejbs.BasicEjbLocal;
+import org.apache.openejb.junit5.jee.EjbContainerExtension;
+import org.apache.openejb.junit5.jee.transaction.TransactionExtension;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import javax.ejb.EJB;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+
+@ContextConfig(properties = {
+    @Property("openejb.deployments.classpath.include=.*openejb-junit5-backward.*"),
+    @Property("java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory")
+})
+@RunWithOpenEjb
+@LocalClient
+public class TestEjbBasic {
+    @EJB
+    private BasicEjbLocal sampleEjb;
+
+    public TestEjbBasic() {
+    }
+
+    @Test
+    public void testEjbInjection() {
+        assertNotNull(sampleEjb);
+    }
+
+    @Test
+    public void testEjbInvocation() {
+        assertNotNull(sampleEjb);
+
+        final String object = sampleEjb.concat("Hello", "World");
+        assertEquals("Hello World", object);
+
+        final double root = sampleEjb.squareroot(81);
+        assertEquals(9, root, 0.0);
+    }
+
+    @Test
+    public void testEjbException() {
+        assertNotNull(sampleEjb);
+
+        try {
+            sampleEjb.squareroot(-1);
+            fail("Call must fail with exception.");
+        } catch (final Exception e) {
+        }
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurity.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurity.java
new file mode 100644
index 0000000..76fd7f6
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurity.java
@@ -0,0 +1,198 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.api.LocalClient;
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.TestSecurity;
+import org.apache.openejb.junit5.ejbs.BasicEjbLocal;
+import org.apache.openejb.junit5.ejbs.SecuredEjbLocal;
+import org.apache.openejb.junit5.security.RunWithOpenEjbTestSecurity;
+import org.apache.openejb.junit5.security.TestSecurityTemplateInvocationContextProvider;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.TestTemplate;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import javax.ejb.EJB;
+import javax.ejb.EJBAccessException;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@ContextConfig(properties = {
+        @Property("openejb.deployments.classpath.include=.*openejb-junit5-backward.*"),
+        @Property("java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory")
+})
+@RunWithOpenEjbTestSecurity
+@TestSecurity(
+        authorized = {"RoleA"}
+)
+@LocalClient
+public class TestEjbSecurity {
+    @EJB
+    private BasicEjbLocal basicEjb;
+
+    @EJB
+    private SecuredEjbLocal securedEjb;
+
+    public TestEjbSecurity() {
+    }
+
+    @TestTemplate
+    public void testEjbInjection() {
+        assertNotNull(basicEjb);
+        assertNotNull(securedEjb);
+    }
+
+    @TestTemplate
+    public void testClassLevelSecurity() {
+        assertNotNull(securedEjb);
+
+        assertEquals("Unsecured Works", basicEjb.concat("Unsecured", "Works"));
+        assertEquals("Dual Role Works", securedEjb.dualRole());
+        assertEquals("RoleA Works", securedEjb.roleA());
+    }
+
+    @TestTemplate
+    public void testClassLevelSecurityUnauthorized() {
+        assertThrows(EJBAccessException.class, () -> {
+            assertNotNull(securedEjb);
+            securedEjb.roleB();
+        });
+    }
+
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleB"}
+    )
+    public void testMethodLevelSecurity() {
+        assertNotNull(securedEjb);
+
+        assertEquals("Unsecured Works", basicEjb.concat("Unsecured", "Works"));
+        assertEquals("Dual Role Works", securedEjb.dualRole());
+        assertEquals("RoleB Works", securedEjb.roleB());
+    }
+
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleB"}
+    )
+    public void testMethodLevelSecurityUnauthorized() {
+        assertThrows(EJBAccessException.class, () -> {
+            assertNotNull(securedEjb);
+            securedEjb.roleA();
+        });
+    }
+
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleA"},
+            unauthorized = {"RoleB"}
+    )
+    public void testMultipleSecurityRoles_RoleA() {
+        assertNotNull(securedEjb);
+        securedEjb.roleA();
+    }
+
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleB"},
+            unauthorized = {"RoleA"}
+    )
+    public void testMultipleSecurityRoles_RoleB() {
+        assertNotNull(securedEjb);
+        securedEjb.roleB();
+    }
+
+    /**
+     * This test was created to ensure that the statements are created correctly.
+     * They are constructed in such a way as to "incorrectly" specify the annotation
+     * options, and should fail with an access exception
+     */
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleB"}
+    )
+    public void testRoleAFailAuthorized() {
+        assertThrows(EJBAccessException.class, () -> {
+            assertNotNull(securedEjb);
+            securedEjb.roleA();
+        });
+    }
+
+    /**
+     * This test was created to ensure that the statements are created correctly.
+     * They are constructed in such a way as to "incorrectly" specify the annotation
+     * options, and should fail with an access exception
+     */
+    @TestTemplate
+    @TestSecurity(
+            authorized = {"RoleA"}
+    )
+    public void testRoleBFailAuthorized() {
+        assertThrows(EJBAccessException.class, () -> {
+            assertNotNull(securedEjb);
+            securedEjb.roleB();
+        });
+    }
+
+    /**
+     * This test was created to ensure that the statements are created correctly.
+     * They are constructed in such a way as to "incorrectly" specify the annotation
+     * options, and should fail with an access exception
+     */
+    @Disabled(value = "TODO: How to fix this in JUnit5?")
+    @TestTemplate
+    @TestSecurity(
+            unauthorized = {"RoleA"}
+    )
+    public void testRoleAFailUnauthorized() {
+        assertThrows(AssertionError.class, () -> {
+            securedEjb.roleA();
+        });
+    }
+
+    /**
+     * This test was created to ensure that the statements are created correctly.
+     * They are constructed in such a way as to "incorrectly" specify the annotation
+     * options, and should fail with an access exception
+     */
+    @Disabled(value = "TODO: How to fix this in JUnit5?")
+    @TestTemplate
+    @TestSecurity(
+            unauthorized = {"RoleB"}
+    )
+    public void testRoleBFailUnauthorized() {
+        assertThrows(AssertionError.class, () -> {
+            securedEjb.roleB();
+        });
+    }
+
+    /**
+     * This test was created to ensure that the statements are created correctly.
+     * They are constructed in such a way as to "incorrectly" specify the annotation
+     * options, and should fail with an access exception
+     */
+    @TestTemplate
+    @TestSecurity(
+            unauthorized = {TestSecurity.UNAUTHENTICATED}
+    )
+    public void testUnauthenticated() {
+        securedEjb.roleA();
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurityRunTestAs.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurityRunTestAs.java
new file mode 100644
index 0000000..cf5b417
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestEjbSecurityRunTestAs.java
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.api.LocalClient;
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.RunTestAs;
+import org.apache.openejb.junit5.ejbs.BasicEjbLocal;
+import org.apache.openejb.junit5.ejbs.SecuredEjbLocal;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import javax.ejb.EJB;
+import javax.ejb.EJBAccessException;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+
+@ContextConfig(properties = {
+    @Property("openejb.deployments.classpath.include=.*openejb-junit5-backward.*"),
+    @Property("java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory")
+})
+@RunWithOpenEjb
+@RunTestAs("RoleA")
+@LocalClient
+public class TestEjbSecurityRunTestAs {
+    @EJB
+    private BasicEjbLocal basicEjb;
+
+    @EJB
+    private SecuredEjbLocal securedEjb;
+
+    public TestEjbSecurityRunTestAs() {
+    }
+
+    @Test
+    public void testEjbInjection() {
+        assertNotNull(basicEjb);
+        assertNotNull(securedEjb);
+    }
+
+    @Test
+    public void testClassLevelSecurity() {
+        assertNotNull(securedEjb);
+
+        assertEquals("Unsecured Works", basicEjb.concat("Unsecured", "Works"));
+        assertEquals("Dual Role Works", securedEjb.dualRole());
+        assertEquals("RoleA Works", securedEjb.roleA());
+
+        try {
+            securedEjb.roleB();
+            fail("Able to execute a method for which we shouldn't have access.");
+        } catch (final EJBAccessException e) {
+        }
+    }
+
+    @Test
+    @RunTestAs("RoleB")
+    public void testMethodLevelSecurity() {
+        assertNotNull(securedEjb);
+
+        assertEquals("Unsecured Works", basicEjb.concat("Unsecured", "Works"));
+        assertEquals("Dual Role Works", securedEjb.dualRole());
+        assertEquals("RoleB Works", securedEjb.roleB());
+
+        try {
+            securedEjb.roleA();
+            fail("Able to execute a method for which we shouldn't have access.");
+        } catch (final EJBAccessException e) {
+        }
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigFile.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigFile.java
new file mode 100644
index 0000000..ea573c3
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigFile.java
@@ -0,0 +1,65 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@RunWithOpenEjb
+public class TestMethodConfigFile {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    /**
+     * We store it in a field to be sure that we check the same key in the 2 separate
+     * tests.
+     */
+    private static final String CHECK_PROPERTY = "junit.test-property";
+
+    public TestMethodConfigFile() {
+    }
+
+    @Test
+    @ContextConfig(
+        configFile = "/META-INF/test-config.properties"
+    )
+    public void testConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty(CHECK_PROPERTY, "Test String");
+    }
+
+    @Test
+    public void testConfigNotPresent() {
+        assertNotNull(contextConfig);
+
+        assertNull(contextConfig.get(CHECK_PROPERTY));
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigProperties.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigProperties.java
new file mode 100644
index 0000000..0010d1f
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestMethodConfigProperties.java
@@ -0,0 +1,69 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.junit.ContextConfig;
+import org.apache.openejb.junit.Property;
+import org.apache.openejb.junit.TestResource;
+import org.apache.openejb.junit.TestResourceTypes;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+
+import java.util.Hashtable;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+@RunWithOpenEjb
+public class TestMethodConfigProperties {
+    @TestResource(TestResourceTypes.CONTEXT_CONFIG)
+    private Hashtable<String, String> contextConfig;
+
+    /**
+     * We store it in a field to be sure that we check the same key in the 2 separate
+     * tests.
+     */
+    private static final String CHECK_PROPERTY = "junit.test-property";
+
+    public TestMethodConfigProperties() {
+    }
+
+    @Test
+    @ContextConfig(
+        properties = {
+            @Property("java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory"),
+            @Property(CHECK_PROPERTY + "=Test String from Properties")
+        }
+    )
+    public void testConfig() {
+        assertNotNull(contextConfig);
+
+        checkProperty(CHECK_PROPERTY, "Test String from Properties");
+    }
+
+    @Test
+    public void testConfigNotPresent() {
+        assertNotNull(contextConfig);
+
+        assertNull(contextConfig.get(CHECK_PROPERTY));
+    }
+
+    private void checkProperty(final String key, final String expected) {
+        final String value = contextConfig.get(key);
+        assertEquals(expected, value);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestResourceEJBContainerExtension.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestResourceEJBContainerExtension.java
new file mode 100644
index 0000000..8585d88
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestResourceEJBContainerExtension.java
@@ -0,0 +1,49 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.spi.ContainerSystem;
+import org.junit.jupiter.api.Test;
+
+import javax.annotation.Resource;
+import javax.naming.NamingException;
+import javax.sql.DataSource;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+
+@Properties({
+    @org.apache.openejb.junit.jee.config.Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
+    @org.apache.openejb.junit.jee.config.Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit5-backward.*"),
+    @org.apache.openejb.junit.jee.config.Property(key = "r", value = "new://Resource?type=DataSource")
+})
+@RunWithEjbContainer
+public class TestResourceEJBContainerExtension {
+
+    @Resource(name = "r")
+    private DataSource ds;
+
+    @Test
+    public void checkResource() throws NamingException {
+        assertEquals(ds,   SystemInstance.get().getComponent(ContainerSystem.class)
+                .getJNDIContext().lookup("java:" + Assembler.OPENEJB_RESOURCE_JNDI_PREFIX + "r"));
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestWithCdiBean.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestWithCdiBean.java
new file mode 100644
index 0000000..aa43a24
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/TestWithCdiBean.java
@@ -0,0 +1,63 @@
+/**
+ * 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.
+ */
+package org.apache.openejb.junit5;
+
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.junit.jee.config.Properties;
+import org.apache.openejb.junit.jee.config.Property;
+import org.junit.jupiter.api.Test;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import javax.inject.Inject;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+
+@Properties({ // just a small conf to go faster
+    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
+    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit5-backward.*")
+})
+@RunWithEjbContainer
+public class TestWithCdiBean {
+    @Inject
+    private CdiBean cdi;
+
+    @Inject
+    private EjbBean ejb;
+
+    @EJB
+    private EjbBean ejb2;
+
+    @Test
+    public void checkCDIInjections() {
+        assertNotNull(cdi);
+        assertNotNull(ejb);
+    }
+
+    @Test
+    public void checkEJBInjection() {
+        assertNotNull(ejb2);
+    }
+
+    public static class CdiBean {
+    }
+
+    @Stateless
+    public static class EjbBean {
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjb.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjb.java
new file mode 100644
index 0000000..067b7f8
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjb.java
@@ -0,0 +1,35 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5.ejbs;
+
+import javax.ejb.Stateless;
+
+@Stateless
+public class BasicEjb implements BasicEjbLocal {
+    public String concat(final String s1, final String s2) {
+        return s1 + " " + s2;
+    }
+
+    public double squareroot(final double n) {
+        if (n < 0) {
+            throw new IllegalArgumentException("Number cannot be negative");
+        }
+
+        return Math.sqrt(n);
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjbLocal.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjbLocal.java
new file mode 100644
index 0000000..d752f27
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/BasicEjbLocal.java
@@ -0,0 +1,27 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5.ejbs;
+
+import javax.ejb.Local;
+
+@Local
+public interface BasicEjbLocal {
+    String concat(String s1, String s2);
+
+    double squareroot(double n);
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjb.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjb.java
new file mode 100644
index 0000000..b3c92bc
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjb.java
@@ -0,0 +1,39 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5.ejbs;
+
+import javax.annotation.security.RolesAllowed;
+import javax.ejb.Stateless;
+
+@Stateless
+@RolesAllowed({"RoleA", "RoleB"})
+public class SecuredEjb implements SecuredEjbLocal {
+    public String dualRole() {
+        return "Dual Role Works";
+    }
+
+    @RolesAllowed({"RoleA"})
+    public String roleA() {
+        return "RoleA Works";
+    }
+
+    @RolesAllowed({"RoleB"})
+    public String roleB() {
+        return "RoleB Works";
+    }
+}
diff --git a/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjbLocal.java b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjbLocal.java
new file mode 100644
index 0000000..bc3fbb6
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/java/org/apache/openejb/junit5/ejbs/SecuredEjbLocal.java
@@ -0,0 +1,29 @@
+/**
+ * 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.
+ */
+
+package org.apache.openejb.junit5.ejbs;
+
+import javax.ejb.Local;
+
+@Local
+public interface SecuredEjbLocal {
+    String dualRole();
+
+    String roleA();
+
+    String roleB();
+}
diff --git a/container/openejb-junit5-backward/src/test/resources/META-INF/beans.xml b/container/openejb-junit5-backward/src/test/resources/META-INF/beans.xml
new file mode 100644
index 0000000..5ce485a
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/resources/META-INF/beans.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    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.
+-->
+<beans xmlns="http://java.sun.com/xml/ns/javaee"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd" />
diff --git a/container/openejb-junit5-backward/src/test/resources/META-INF/ejb-jar.xml b/container/openejb-junit5-backward/src/test/resources/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..3c3de1c
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/resources/META-INF/ejb-jar.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<ejb-jar/>
\ No newline at end of file
diff --git a/container/openejb-junit5-backward/src/test/resources/META-INF/test-config-method.properties b/container/openejb-junit5-backward/src/test/resources/META-INF/test-config-method.properties
new file mode 100644
index 0000000..a7c32b9
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/resources/META-INF/test-config-method.properties
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+junit.test-new-method-file-property=New Method Value
+junit.test-property-override2=New Method File Value 2
diff --git a/container/openejb-junit5-backward/src/test/resources/META-INF/test-config.properties b/container/openejb-junit5-backward/src/test/resources/META-INF/test-config.properties
new file mode 100644
index 0000000..fd0a9f7
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/resources/META-INF/test-config.properties
@@ -0,0 +1,23 @@
+#
+# 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.
+#
+java.naming.factory.initial=org.apache.openejb.core.LocalInitialContextFactory
+junit.test-property=Test String
+junit.test-property-override=Original Value
+junit.test-property-override2=Original Value 2
+junit.test-property-override3=Original Value 3
+junit.test-property-file-untrimmed = Original Untrimmed Value
+junit.test-property-file-trimmed=Original Trimmed Value
diff --git a/container/openejb-junit5-backward/src/test/resources/openejb-junit.properties b/container/openejb-junit5-backward/src/test/resources/openejb-junit.properties
new file mode 100644
index 0000000..9eab334
--- /dev/null
+++ b/container/openejb-junit5-backward/src/test/resources/openejb-junit.properties
@@ -0,0 +1,17 @@
+#
+# 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.
+#
+implicit-config = true
diff --git a/container/openejb-loader/pom.xml b/container/openejb-loader/pom.xml
index 894b233..8daa00b 100644
--- a/container/openejb-loader/pom.xml
+++ b/container/openejb-loader/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>container</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-loader</artifactId>
diff --git a/container/pom.xml b/container/pom.xml
index ba79f48..9508572 100644
--- a/container/pom.xml
+++ b/container/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -36,7 +36,8 @@
     <module>openejb-javaagent</module>
     <module>openejb-jee</module>
     <module>openejb-jee-accessors</module>
-    <module>openejb-junit</module>
     <module>openejb-jpa-integration</module>
+    <module>openejb-junit</module>
+    <module>openejb-junit5-backward</module>
   </modules>
 </project>
diff --git a/deps/pom.xml b/deps/pom.xml
new file mode 100644
index 0000000..831ac9b
--- /dev/null
+++ b/deps/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <artifactId>tomee-project</artifactId>
+    <groupId>org.apache.tomee</groupId>
+    <version>8.0.7-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>deps</artifactId>
+  <packaging>pom</packaging>
+  <name>TomEE :: Deps</name>
+
+  <modules>
+    <module>taglibs-shade</module>
+  </modules>
+</project>
diff --git a/deps/taglibs-shade/pom.xml b/deps/taglibs-shade/pom.xml
new file mode 100644
index 0000000..ef5a408
--- /dev/null
+++ b/deps/taglibs-shade/pom.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <parent>
+    <artifactId>deps</artifactId>
+    <groupId>org.apache.tomee</groupId>
+    <version>8.0.7-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.tomee</groupId>
+  <artifactId>taglibs-shade</artifactId>
+  <name>TomEE :: Deps :: Taglibs Shade</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-impl</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-jstlel</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.taglibs</groupId>
+      <artifactId>taglibs-standard-spec</artifactId>
+      <version>1.2.5</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.7.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>serializer</artifactId>
+      <version>2.7.2</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>*</artifactId>
+          <groupId>*</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>2.3</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <createSourcesJar>true</createSourcesJar>
+              <useBaseVersion>true</useBaseVersion>
+              <createDependencyReducedPom>false</createDependencyReducedPom>
+              <relocations>
+                <relocation>
+                  <pattern>org.apache.bcel</pattern>
+                  <shadedPattern>openejb.shade.org.apache.bcel</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.regexp</pattern>
+                  <shadedPattern>openejb.shade.org.apache.regexp</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.xalan</pattern>
+                  <shadedPattern>openejb.shade.org.apache.xalan</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.xml</pattern>
+                  <shadedPattern>openejb.shade.org.apache.xml</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.xpath</pattern>
+                  <shadedPattern>openejb.shade.org.apache.xpath</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>trac</pattern>
+                  <shadedPattern>openejb.shade.trax</shadedPattern>
+                </relocation>
+              </relocations>
+              <filters>
+                <filter>
+                  <artifact>xalan:xalan</artifact>
+                  <includes>
+                    <include>*/**</include>
+                  </includes>
+                  <excludes>
+                    <exclude>META-INF/services/javax*</exclude>
+                  </excludes>
+                </filter>
+              </filters>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/examples/access-timeout-meta/pom.xml b/examples/access-timeout-meta/pom.xml
index 7b39b42..4b98335 100644
--- a/examples/access-timeout-meta/pom.xml
+++ b/examples/access-timeout-meta/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>access-timeout-meta</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @AccessTimeout (Meta)</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/access-timeout/pom.xml b/examples/access-timeout/pom.xml
index fef1e32..0b65a35 100644
--- a/examples/access-timeout/pom.xml
+++ b/examples/access-timeout/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>access-timeout</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @AccessTimeout</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/alternate-descriptors/pom.xml b/examples/alternate-descriptors/pom.xml
index 7e79aac..a8df9ee 100644
--- a/examples/alternate-descriptors/pom.xml
+++ b/examples/alternate-descriptors/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>alternate-descriptors</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Alternate Descriptors</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -108,7 +108,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
diff --git a/examples/applet/pom.xml b/examples/applet/pom.xml
index a7ebf67..a63e9db 100644
--- a/examples/applet/pom.xml
+++ b/examples/applet/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz.applet</groupId>
   <artifactId>applet</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Signed Applet EJB Client</name>
   <url>http://tomee.apache.org</url>
   <properties>
@@ -44,7 +44,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-client</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
@@ -112,7 +112,7 @@
                 <artifactItem>
                   <groupId>org.apache.tomee</groupId>
                   <artifactId>openejb-client</artifactId>
-                  <version>8.0.5-SNAPSHOT</version>
+                  <version>8.0.7-SNAPSHOT</version>
                   <outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
                   <destFileName>openejb-client.jar</destFileName>
                 </artifactItem>
diff --git a/examples/application-composer/pom.xml b/examples/application-composer/pom.xml
index 4ea6ba7..f97a418 100644
--- a/examples/application-composer/pom.xml
+++ b/examples/application-composer/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>application-composer</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Application Composer</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/applicationcomposer-jaxws-cdi/pom.xml b/examples/applicationcomposer-jaxws-cdi/pom.xml
index 32bd6b0..9503d71 100644
--- a/examples/applicationcomposer-jaxws-cdi/pom.xml
+++ b/examples/applicationcomposer-jaxws-cdi/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>applicationcomposer-jaxws-cdi</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Application Composer, JAX-WS and CDI are in a boat</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -80,13 +80,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/applicationexception/pom.xml b/examples/applicationexception/pom.xml
index c2091ea..3701805 100644
--- a/examples/applicationexception/pom.xml
+++ b/examples/applicationexception/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>applicationexception</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @ApplicationException inheritance</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -94,7 +94,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/arquillian-jpa/pom.xml b/examples/arquillian-jpa/pom.xml
index a457805..ae25051 100644
--- a/examples/arquillian-jpa/pom.xml
+++ b/examples/arquillian-jpa/pom.xml
@@ -14,10 +14,10 @@
   <groupId>org.superbiz</groupId>
   <artifactId>arquillian-jpa</artifactId>
   <name>TomEE :: Examples :: Arquillian Persistence Extension Sample</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <properties>
     <arquillian_universe.version>1.2.0.1</arquillian_universe.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   <build>
@@ -73,7 +73,18 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-lang3</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.11</version>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
diff --git a/examples/async-methods/pom.xml b/examples/async-methods/pom.xml
index f09cdf1..16abf5c 100644
--- a/examples/async-methods/pom.xml
+++ b/examples/async-methods/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>async-methods</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Asynchronous Methods</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/async-postconstruct/pom.xml b/examples/async-postconstruct/pom.xml
index e2d04cc..619be13 100644
--- a/examples/async-postconstruct/pom.xml
+++ b/examples/async-postconstruct/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>async-postconstruct</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Asynchronous @PostConstrct</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/async-servlet/pom.xml b/examples/async-servlet/pom.xml
index b7e7671..ae43178 100644
--- a/examples/async-servlet/pom.xml
+++ b/examples/async-servlet/pom.xml
@@ -20,7 +20,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>async-servlet</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>OpenEJB :: Examples :: Async Servlet</name>
   <url>http://maven.apache.org</url>
   <properties>
@@ -28,7 +28,7 @@
     <maven.compiler.target>1.8</maven.compiler.target>
     <version.arquillian>1.1.13.Final</version.arquillian>
     <version.graphene.webdriver>2.3.1</version.graphene.webdriver>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
@@ -59,7 +59,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -95,7 +95,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
         </configuration>
diff --git a/examples/bean-validation-design-by-contract/pom.xml b/examples/bean-validation-design-by-contract/pom.xml
index 1b089ee..8cb3fb9 100644
--- a/examples/bean-validation-design-by-contract/pom.xml
+++ b/examples/bean-validation-design-by-contract/pom.xml
@@ -20,11 +20,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>bean-validation-design-by-contract</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Bean Validation Design By Contract</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/bval-evaluation-redeployment/WebApp1/pom.xml b/examples/bval-evaluation-redeployment/WebApp1/pom.xml
index 504f064..59650f7 100644
--- a/examples/bval-evaluation-redeployment/WebApp1/pom.xml
+++ b/examples/bval-evaluation-redeployment/WebApp1/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>bval-evaluation-redeployment</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>WebApp1</artifactId>
   <packaging>war</packaging>
diff --git a/examples/bval-evaluation-redeployment/WebApp2/pom.xml b/examples/bval-evaluation-redeployment/WebApp2/pom.xml
index d279e69..0cd376b 100644
--- a/examples/bval-evaluation-redeployment/WebApp2/pom.xml
+++ b/examples/bval-evaluation-redeployment/WebApp2/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>bval-evaluation-redeployment</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>WebApp2</artifactId>
   <packaging>war</packaging>
diff --git a/examples/bval-evaluation-redeployment/pom.xml b/examples/bval-evaluation-redeployment/pom.xml
index c490167..9203198 100644
--- a/examples/bval-evaluation-redeployment/pom.xml
+++ b/examples/bval-evaluation-redeployment/pom.xml
@@ -20,13 +20,13 @@
 
   <groupId>org.superbiz</groupId>
   <artifactId>bval-evaluation-redeployment</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.test.version>8.0.5-SNAPSHOT</tomee.test.version>
-    <openejb.test.version>8.0.5-SNAPSHOT</openejb.test.version>
+    <tomee.test.version>8.0.7-SNAPSHOT</tomee.test.version>
+    <openejb.test.version>8.0.7-SNAPSHOT</openejb.test.version>
   </properties>
 
   <modules>
@@ -106,7 +106,7 @@
       <dependency>
         <groupId>org.apache.tomee</groupId>
         <artifactId>arquillian-tomee-remote</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <scope>test</scope>
       </dependency>
       <dependency>
diff --git a/examples/bval-evaluation-redeployment/runner/pom.xml b/examples/bval-evaluation-redeployment/runner/pom.xml
index 1d43d5c..7702f3d 100644
--- a/examples/bval-evaluation-redeployment/runner/pom.xml
+++ b/examples/bval-evaluation-redeployment/runner/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>bval-evaluation-redeployment</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>runner</artifactId>
   <packaging>jar</packaging>
@@ -61,7 +61,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>apache-tomee</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>zip</type>
       <classifier>webprofile</classifier>
       <scope>test</scope>
diff --git a/examples/cdi-alternative-and-stereotypes/pom.xml b/examples/cdi-alternative-and-stereotypes/pom.xml
index 84a8819..b6e7a42 100644
--- a/examples/cdi-alternative-and-stereotypes/pom.xml
+++ b/examples/cdi-alternative-and-stereotypes/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-alternative-and-stereotypes</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI Stereotypes</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-application-scope/pom.xml b/examples/cdi-application-scope/pom.xml
index eb12d84..b6c979e 100644
--- a/examples/cdi-application-scope/pom.xml
+++ b/examples/cdi-application-scope/pom.xml
@@ -14,7 +14,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-application-scope</artifactId>
   <name>TomEE :: Examples :: CDI Application Scope</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <build>
     <defaultGoal>install</defaultGoal>
     <plugins>
@@ -68,7 +68,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-basic/pom.xml b/examples/cdi-basic/pom.xml
index 1e1e2c7..438f2e0 100644
--- a/examples/cdi-basic/pom.xml
+++ b/examples/cdi-basic/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-basic</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Basic CDI</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-dynamic-inject/pom.xml b/examples/cdi-dynamic-inject/pom.xml
index e7333cc..1468a16 100644
--- a/examples/cdi-dynamic-inject/pom.xml
+++ b/examples/cdi-dynamic-inject/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-dynamic-inject</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Dynamic Inject</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-ejbcontext-jaas/pom.xml b/examples/cdi-ejbcontext-jaas/pom.xml
index 72de149..842441e 100644
--- a/examples/cdi-ejbcontext-jaas/pom.xml
+++ b/examples/cdi-ejbcontext-jaas/pom.xml
@@ -20,14 +20,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-ejbcontext-jaas</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: CDI, EJBContext and JAAS</name>
   <dependencies>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
@@ -53,7 +53,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <systemVariables>
             <java.security.auth.login.config>${project.build.directory}/apache-tomee/conf/login.config</java.security.auth.login.config>
diff --git a/examples/cdi-events/pom.xml b/examples/cdi-events/pom.xml
index 21775e1..43268a0 100644
--- a/examples/cdi-events/pom.xml
+++ b/examples/cdi-events/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-events</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI Events</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- to show events we log them in the test -->
diff --git a/examples/cdi-interceptors/pom.xml b/examples/cdi-interceptors/pom.xml
index 21b552e..8a14102 100644
--- a/examples/cdi-interceptors/pom.xml
+++ b/examples/cdi-interceptors/pom.xml
@@ -16,7 +16,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-interceptors</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI Interceptors</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -76,7 +76,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-produces-disposes/pom.xml b/examples/cdi-produces-disposes/pom.xml
index 136cef3..ec31900 100644
--- a/examples/cdi-produces-disposes/pom.xml
+++ b/examples/cdi-produces-disposes/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-produces-disposes</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI-Disposes</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-produces-field/pom.xml b/examples/cdi-produces-field/pom.xml
index 516fe97..083f309 100644
--- a/examples/cdi-produces-field/pom.xml
+++ b/examples/cdi-produces-field/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-produces-field</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI-Field Producer</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-qualifier/pom.xml b/examples/cdi-qualifier/pom.xml
index ac8d4fe..73a8384 100644
--- a/examples/cdi-qualifier/pom.xml
+++ b/examples/cdi-qualifier/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-qualifier</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Basic Qualifier</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-realm/pom.xml b/examples/cdi-realm/pom.xml
index e4d5bf7..777b192 100644
--- a/examples/cdi-realm/pom.xml
+++ b/examples/cdi-realm/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-realm</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: CDI Realm</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/cdi-request-scope/pom.xml b/examples/cdi-request-scope/pom.xml
index 8523ccb..19fb26c 100644
--- a/examples/cdi-request-scope/pom.xml
+++ b/examples/cdi-request-scope/pom.xml
@@ -14,7 +14,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-request-scope</artifactId>
   <name>TomEE :: Examples :: CDI Request Scope</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <build>
     <defaultGoal>install</defaultGoal>
     <plugins>
@@ -68,7 +68,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cdi-session-scope/pom.xml b/examples/cdi-session-scope/pom.xml
index c741a58..16f6b99 100644
--- a/examples/cdi-session-scope/pom.xml
+++ b/examples/cdi-session-scope/pom.xml
@@ -15,7 +15,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cdi-session-scope</artifactId>
   <name>TomEE :: Examples :: CDI Session Scope</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -43,7 +43,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <context>${project.artifactId}</context>
         </configuration>
diff --git a/examples/change-jaxws-url/pom.xml b/examples/change-jaxws-url/pom.xml
index 1f76f75..930b4c9 100644
--- a/examples/change-jaxws-url/pom.xml
+++ b/examples/change-jaxws-url/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>change-jaxws-url</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Change JAXWS URL</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
diff --git a/examples/client-resource-lookup-preview/pom.xml b/examples/client-resource-lookup-preview/pom.xml
index fa990e2..a3b5a34 100644
--- a/examples/client-resource-lookup-preview/pom.xml
+++ b/examples/client-resource-lookup-preview/pom.xml
@@ -20,7 +20,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>client-resource-lookup-preview</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Client Resource Lookup</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -73,13 +73,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-client</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-ejbd</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.apache.activemq</groupId>
@@ -97,7 +97,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/cloud-tomee-azure/pom.xml b/examples/cloud-tomee-azure/pom.xml
index 54fb889..64e2779 100644
--- a/examples/cloud-tomee-azure/pom.xml
+++ b/examples/cloud-tomee-azure/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>cloud-tomee-azure</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Azure deployment example</name>
   <properties>
diff --git a/examples/component-interfaces/pom.xml b/examples/component-interfaces/pom.xml
index a93de4b..b81b94c 100644
--- a/examples/component-interfaces/pom.xml
+++ b/examples/component-interfaces/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>component-interfaces</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: EJB 2.1 Component Interfaces</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/concurrency-utils/pom.xml b/examples/concurrency-utils/pom.xml
index 4e3311a..0e6019b 100644
--- a/examples/concurrency-utils/pom.xml
+++ b/examples/concurrency-utils/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>concurrency-utils</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>TomEE :: Examples :: Concurrency utilities example</name>
   <properties>
diff --git a/examples/connector-ear/connector-sample-api/pom.xml b/examples/connector-ear/connector-sample-api/pom.xml
index be0b7b2..f209ed5 100644
--- a/examples/connector-ear/connector-sample-api/pom.xml
+++ b/examples/connector-ear/connector-sample-api/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>connector-sample-api</artifactId>
   <packaging>jar</packaging>
diff --git a/examples/connector-ear/connector-sample-ear/pom.xml b/examples/connector-ear/connector-sample-ear/pom.xml
index d50f876..0bae272 100644
--- a/examples/connector-ear/connector-sample-ear/pom.xml
+++ b/examples/connector-ear/connector-sample-ear/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>connector-sample-ear</artifactId>
diff --git a/examples/connector-ear/connector-sample-functional-tests/pom.xml b/examples/connector-ear/connector-sample-functional-tests/pom.xml
index beb31fc..9abd034 100644
--- a/examples/connector-ear/connector-sample-functional-tests/pom.xml
+++ b/examples/connector-ear/connector-sample-functional-tests/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>connector-sample-functional-test</artifactId>
diff --git a/examples/connector-ear/connector-sample-impl/pom.xml b/examples/connector-ear/connector-sample-impl/pom.xml
index 535b07c..d4ff1d8 100644
--- a/examples/connector-ear/connector-sample-impl/pom.xml
+++ b/examples/connector-ear/connector-sample-impl/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>connector-sample-impl</artifactId>
   <packaging>jar</packaging>
diff --git a/examples/connector-ear/connector-sample-rar/pom.xml b/examples/connector-ear/connector-sample-rar/pom.xml
index 5ea3fb8..d4d568f 100644
--- a/examples/connector-ear/connector-sample-rar/pom.xml
+++ b/examples/connector-ear/connector-sample-rar/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>connector-sample-rar</artifactId>
   <packaging>rar</packaging>
diff --git a/examples/connector-ear/connector-sample-war/pom.xml b/examples/connector-ear/connector-sample-war/pom.xml
index 087680e..1f11ce5 100644
--- a/examples/connector-ear/connector-sample-war/pom.xml
+++ b/examples/connector-ear/connector-sample-war/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>connector-ear</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>connector-sample-war</artifactId>
   <packaging>war</packaging>
diff --git a/examples/connector-ear/pom.xml b/examples/connector-ear/pom.xml
index e45754d..f210724 100644
--- a/examples/connector-ear/pom.xml
+++ b/examples/connector-ear/pom.xml
@@ -16,11 +16,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>connector-ear</artifactId>
   <packaging>pom</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Connector Examples :: Connector in EAR</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.1.0</version.shrinkwrap.resolver>
     <surefire.version>2.21.0</surefire.version>
   </properties>
diff --git a/examples/connector-war/pom.xml b/examples/connector-war/pom.xml
index 4b1cf6d..d114f5d 100644
--- a/examples/connector-war/pom.xml
+++ b/examples/connector-war/pom.xml
@@ -15,11 +15,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>connector-war</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Connector Examples :: Connector in WAR</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.1.0</version.shrinkwrap.resolver>
   </properties>
   <repositories>
diff --git a/examples/cucumber-jvm/pom.xml b/examples/cucumber-jvm/pom.xml
index afd2594..c08b49b 100644
--- a/examples/cucumber-jvm/pom.xml
+++ b/examples/cucumber-jvm/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>cucumber-jvm</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Cucumber JVM</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/examples/custom-injection/pom.xml b/examples/custom-injection/pom.xml
index 075ec75..52c0d9f 100644
--- a/examples/custom-injection/pom.xml
+++ b/examples/custom-injection/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>custom-injection</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Expanded support for Env Entries</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/datasource-ciphered-password/pom.xml b/examples/datasource-ciphered-password/pom.xml
index 09e97a3..6f69a62 100644
--- a/examples/datasource-ciphered-password/pom.xml
+++ b/examples/datasource-ciphered-password/pom.xml
@@ -20,11 +20,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>datasource-ciphered-password</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Datasource Ciphered Password</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/datasource-definition/pom.xml b/examples/datasource-definition/pom.xml
index ad7aae08..724d19a 100644
--- a/examples/datasource-definition/pom.xml
+++ b/examples/datasource-definition/pom.xml
@@ -20,11 +20,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>datasource-definition</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Datasource Definition</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/datasource-versioning/pom.xml b/examples/datasource-versioning/pom.xml
index 5b2a856..31dd29e 100644
--- a/examples/datasource-versioning/pom.xml
+++ b/examples/datasource-versioning/pom.xml
@@ -21,12 +21,12 @@
   <groupId>org.superbiz</groupId>
   <artifactId>datasource-versioning</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Datasource Versioning</name>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
 
   <build>
@@ -164,7 +164,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -176,7 +176,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-jdbc</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/decorators/pom.xml b/examples/decorators/pom.xml
index b97acd4..a16c322 100644
--- a/examples/decorators/pom.xml
+++ b/examples/decorators/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>decorators</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Decorators</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/deltaspike-configproperty/pom.xml b/examples/deltaspike-configproperty/pom.xml
index 39aa12a..2955da7 100644
--- a/examples/deltaspike-configproperty/pom.xml
+++ b/examples/deltaspike-configproperty/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>deltaspike-configproperty</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: DeltaSpike @ConfigProperty</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,13 +92,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/deltaspike-exception-handling/pom.xml b/examples/deltaspike-exception-handling/pom.xml
index 92ff337..b3266cb 100644
--- a/examples/deltaspike-exception-handling/pom.xml
+++ b/examples/deltaspike-exception-handling/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>deltaspike-exception-handling</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: DeltaSpike Exception Handling</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,13 +92,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/deltaspike-fullstack/pom.xml b/examples/deltaspike-fullstack/pom.xml
index 6fdc06f..9581546 100644
--- a/examples/deltaspike-fullstack/pom.xml
+++ b/examples/deltaspike-fullstack/pom.xml
@@ -14,14 +14,14 @@
   <groupId>org.superbiz</groupId>
   <artifactId>deltaspike-fullstack</artifactId>
   <name>TomEE :: Examples :: JSF2/CDI/BV/JPA/DeltaSpike</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.myfaces2>2.3.0</version.myfaces2>
     <version.deltaspike>1.9.3</version.deltaspike>
     <version.extval>2.0.8</version.extval>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
@@ -138,10 +138,6 @@
           <groupId>org.slf4j</groupId>
         </exclusion>
         <exclusion>
-          <artifactId>xbean-asm7-shaded</artifactId>
-          <groupId>org.apache.xbean</groupId>
-        </exclusion>
-        <exclusion>
           <artifactId>commons-collections</artifactId>
           <groupId>commons-collections</groupId>
         </exclusion>
@@ -149,25 +145,9 @@
           <artifactId>junit</artifactId>
           <groupId>junit</groupId>
         </exclusion>
-        <exclusion>
-          <artifactId>commons-lang3</artifactId>
-          <groupId>org.apache.commons</groupId>
-        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.apache.xbean</groupId>
-      <artifactId>xbean-asm7-shaded</artifactId>
-      <version>4.14</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <artifactId>commons-lang3</artifactId>
-      <groupId>org.apache.commons</groupId>
-      <version>3.3.2</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
       <groupId>commons-collections</groupId>
       <artifactId>commons-collections</artifactId>
       <version>3.2.1</version>
diff --git a/examples/deltaspike-i18n/pom.xml b/examples/deltaspike-i18n/pom.xml
index 8a5c0d1..e64ecd0 100644
--- a/examples/deltaspike-i18n/pom.xml
+++ b/examples/deltaspike-i18n/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>deltaspike-i18n</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: DeltaSpike I18n</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,13 +92,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/dynamic-dao-implementation/pom.xml b/examples/dynamic-dao-implementation/pom.xml
index 82ff579..9ea9992 100644
--- a/examples/dynamic-dao-implementation/pom.xml
+++ b/examples/dynamic-dao-implementation/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>dynamic-dao-implementation</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Dynamic DAO Implementation</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/dynamic-datasource-routing/pom.xml b/examples/dynamic-datasource-routing/pom.xml
index b95f6b2..036588a 100644
--- a/examples/dynamic-datasource-routing/pom.xml
+++ b/examples/dynamic-datasource-routing/pom.xml
@@ -20,11 +20,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>dynamic-datasource-routing</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Dynamic Datasource Routing</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/dynamic-implementation/pom.xml b/examples/dynamic-implementation/pom.xml
index 95fe963..11a2cc1 100644
--- a/examples/dynamic-implementation/pom.xml
+++ b/examples/dynamic-implementation/pom.xml
@@ -20,7 +20,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>dynamic-implementation</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Dynamic Implementation</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -72,7 +72,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-api</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
@@ -87,7 +87,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/dynamic-proxy-to-access-mbean/pom.xml b/examples/dynamic-proxy-to-access-mbean/pom.xml
index 3f2284d..6a1292c 100644
--- a/examples/dynamic-proxy-to-access-mbean/pom.xml
+++ b/examples/dynamic-proxy-to-access-mbean/pom.xml
@@ -20,7 +20,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>dynamic-proxy-to-access-mbean</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Dynamic MBean Proxy</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -80,7 +80,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-api</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
@@ -96,7 +96,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/ear-testing/business-logic/pom.xml b/examples/ear-testing/business-logic/pom.xml
index cb19d3d..7051267 100644
--- a/examples/ear-testing/business-logic/pom.xml
+++ b/examples/ear-testing/business-logic/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>ear-testing</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>business-logic</artifactId>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/ear-testing/business-model/pom.xml b/examples/ear-testing/business-model/pom.xml
index 09ff0de..ee73582 100644
--- a/examples/ear-testing/business-model/pom.xml
+++ b/examples/ear-testing/business-model/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>ear-testing</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>business-model</artifactId>
diff --git a/examples/ear-testing/pom.xml b/examples/ear-testing/pom.xml
index 378936b..c041aec 100644
--- a/examples/ear-testing/pom.xml
+++ b/examples/ear-testing/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>ear-testing</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>TomEE :: Examples :: Ear Testing</name>
   <modules>
diff --git a/examples/ejb-examples/pom.xml b/examples/ejb-examples/pom.xml
index 11af780..a61ba32 100644
--- a/examples/ejb-examples/pom.xml
+++ b/examples/ejb-examples/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>ejb-examples</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB Examples War</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -59,7 +59,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <context>/ejb-examples</context>
           <tomeeClassifier>plus</tomeeClassifier>
diff --git a/examples/ejb-remote-call-2/pom.xml b/examples/ejb-remote-call-2/pom.xml
index b4703fd..c290342 100644
--- a/examples/ejb-remote-call-2/pom.xml
+++ b/examples/ejb-remote-call-2/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>ejb-remote-call-2</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB Remote Call</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -59,7 +59,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
           <config>${project.basedir}/src/test/conf</config>
diff --git a/examples/ejb-remote-call/pom.xml b/examples/ejb-remote-call/pom.xml
index 14511e2..3496eff 100644
--- a/examples/ejb-remote-call/pom.xml
+++ b/examples/ejb-remote-call/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>ejb-remote-call</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB Remote Call</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -59,7 +59,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
           <config>${project.basedir}/src/test/conf</config>
diff --git a/examples/ejb-webservice/pom.xml b/examples/ejb-webservice/pom.xml
index 197736c..207f00a 100644
--- a/examples/ejb-webservice/pom.xml
+++ b/examples/ejb-webservice/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>ejb-webservice</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB WebService</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/examples/groovy-cdi/pom.xml b/examples/groovy-cdi/pom.xml
index 97fc568..7324035 100644
--- a/examples/groovy-cdi/pom.xml
+++ b/examples/groovy-cdi/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>groovy-cdi</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Groovy CDI</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
     <dependency>
@@ -104,13 +104,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/groovy-jpa/pom.xml b/examples/groovy-jpa/pom.xml
index 5870c0c..01d26a1 100644
--- a/examples/groovy-jpa/pom.xml
+++ b/examples/groovy-jpa/pom.xml
@@ -23,7 +23,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>groovy-jpa</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Groovy JPA</name>
 
   <properties>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
     <dependency>
@@ -103,13 +103,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/groovy-spock/pom.xml b/examples/groovy-spock/pom.xml
index d4f7dcf..87bbaa9 100644
--- a/examples/groovy-spock/pom.xml
+++ b/examples/groovy-spock/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>groovy-spock</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Groovy Spock</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -103,7 +103,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
     <dependency>
@@ -115,7 +115,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -127,7 +127,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/examples/helloworld-weblogic/pom.xml b/examples/helloworld-weblogic/pom.xml
index dae6712..57cf40d 100644
--- a/examples/helloworld-weblogic/pom.xml
+++ b/examples/helloworld-weblogic/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>helloworld-weblogic</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Hello World - Weblogic</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/injection-of-connectionfactory/pom.xml b/examples/injection-of-connectionfactory/pom.xml
index 05a5d71..8d7d77c 100644
--- a/examples/injection-of-connectionfactory/pom.xml
+++ b/examples/injection-of-connectionfactory/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>injection-of-connectionfactory</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Resource javax.jms.ConnectionFactory</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/injection-of-datasource/pom.xml b/examples/injection-of-datasource/pom.xml
index ed0bfb2..ae47c7b 100644
--- a/examples/injection-of-datasource/pom.xml
+++ b/examples/injection-of-datasource/pom.xml
@@ -24,7 +24,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>injection-of-datasource</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Resource DataSource Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -71,7 +71,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/examples/injection-of-ejbs/pom.xml b/examples/injection-of-ejbs/pom.xml
index dd5d824..5727e26 100644
--- a/examples/injection-of-ejbs/pom.xml
+++ b/examples/injection-of-ejbs/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>injection-of-ejbs</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @EJB Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/injection-of-entitymanager/pom.xml b/examples/injection-of-entitymanager/pom.xml
index 1bebc8e..bc0af71 100644
--- a/examples/injection-of-entitymanager/pom.xml
+++ b/examples/injection-of-entitymanager/pom.xml
@@ -24,7 +24,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>injection-of-entitymanager</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @PersistenceContext EntityManager Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -78,7 +78,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/injection-of-env-entry/pom.xml b/examples/injection-of-env-entry/pom.xml
index 2c12af2..241af98 100644
--- a/examples/injection-of-env-entry/pom.xml
+++ b/examples/injection-of-env-entry/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>injection-of-env-entry</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Resource env-entry Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/interceptors/pom.xml b/examples/interceptors/pom.xml
index 7429f4b..9367627 100644
--- a/examples/interceptors/pom.xml
+++ b/examples/interceptors/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>interceptors</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Interceptors</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/java-modules/pom.xml b/examples/java-modules/pom.xml
index 50a33a6..436e267 100644
--- a/examples/java-modules/pom.xml
+++ b/examples/java-modules/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>java-modules</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Java Modules (Simple REST resource)</name>
   <properties>
     <arquillian.version>1.1.10.Final</arquillian.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   <repositories>
diff --git a/examples/javamail/pom.xml b/examples/javamail/pom.xml
index 5e5b62e..0bbcc48 100644
--- a/examples/javamail/pom.xml
+++ b/examples/javamail/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>javamail</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: JavaMail API</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -88,7 +88,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/jaxrs-filter/pom.xml b/examples/jaxrs-filter/pom.xml
index 16abe79..15694b0 100644
--- a/examples/jaxrs-filter/pom.xml
+++ b/examples/jaxrs-filter/pom.xml
@@ -20,7 +20,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>jaxrs-filter</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: JAXRS Filter</name>
   <url>http://maven.apache.org</url>
   <dependencies>
diff --git a/examples/jaxrs-json-provider-jettison/pom.xml b/examples/jaxrs-json-provider-jettison/pom.xml
index 004ab44..88021b6 100755
--- a/examples/jaxrs-json-provider-jettison/pom.xml
+++ b/examples/jaxrs-json-provider-jettison/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>jaxrs-json-provider-jettison</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: JAXRS JSON Provider with Jettison </name>
   <properties>
@@ -38,7 +38,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
       <scope>provided</scope>
     </dependency>
diff --git a/examples/jpa-eclipselink/pom.xml b/examples/jpa-eclipselink/pom.xml
index bf9f995..0386e9c 100644
--- a/examples/jpa-eclipselink/pom.xml
+++ b/examples/jpa-eclipselink/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>jpa-eclipselink</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: JPA with EclipseLink</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -96,14 +96,14 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- EclipseLink dependencies -->
     <dependency>
       <groupId>org.eclipse.persistence</groupId>
       <artifactId>eclipselink</artifactId>
-      <version>2.6.7</version>
+      <version>2.7.7</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/jpa-enumerated/pom.xml b/examples/jpa-enumerated/pom.xml
index 310b99d..97359c0 100644
--- a/examples/jpa-enumerated/pom.xml
+++ b/examples/jpa-enumerated/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>jpa-enumerated</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: JPA @Enumerated</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/jpa-hibernate/pom.xml b/examples/jpa-hibernate/pom.xml
index 820194a..9905690 100644
--- a/examples/jpa-hibernate/pom.xml
+++ b/examples/jpa-hibernate/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>jpa-hibernate</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: JPA with Hibernate</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -95,7 +95,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core-hibernate</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
       <scope>test</scope>
     </dependency>
diff --git a/examples/jsf-cdi-and-ejb/pom.xml b/examples/jsf-cdi-and-ejb/pom.xml
index 8c8cddd..705b19f 100644
--- a/examples/jsf-cdi-and-ejb/pom.xml
+++ b/examples/jsf-cdi-and-ejb/pom.xml
@@ -23,7 +23,7 @@
   <artifactId>jsf-cdi-and-ejb</artifactId>
   <packaging>war</packaging>
   <name>TomEE :: Web Examples :: JSF - CDI and EJB</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <url>http://tomee.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
diff --git a/examples/jsf-managedBean-and-ejb/pom.xml b/examples/jsf-managedBean-and-ejb/pom.xml
index e13f56c..2c02198 100644
--- a/examples/jsf-managedBean-and-ejb/pom.xml
+++ b/examples/jsf-managedBean-and-ejb/pom.xml
@@ -23,7 +23,7 @@
   <artifactId>jsf-managedBean-and-ejb</artifactId>
   <packaging>war</packaging>
   <name>TomEE :: Web Examples :: JSF - ManangedBean and EJB</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <url>http://tomee.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -49,7 +49,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
       </plugin>
       <plugin>
         <groupId>org.tomitribe.transformer</groupId>
diff --git a/examples/jsonb-configuration/pom.xml b/examples/jsonb-configuration/pom.xml
index a9e6147..817b172 100644
--- a/examples/jsonb-configuration/pom.xml
+++ b/examples/jsonb-configuration/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>jsonb-configuration</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile JSONB Configuration</name>
   <properties>
@@ -42,7 +42,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/jsonb-custom-serializer/pom.xml b/examples/jsonb-custom-serializer/pom.xml
index 2c67112..db6c281 100644
--- a/examples/jsonb-custom-serializer/pom.xml
+++ b/examples/jsonb-custom-serializer/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>jsonb-custom-serializer</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile JSONB Custom Serializer/Deserializer</name>
   <properties>
@@ -42,7 +42,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/lookup-of-ejbs-with-descriptor/pom.xml b/examples/lookup-of-ejbs-with-descriptor/pom.xml
index efd8f18..5ae0dea 100644
--- a/examples/lookup-of-ejbs-with-descriptor/pom.xml
+++ b/examples/lookup-of-ejbs-with-descriptor/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>lookup-of-ejbs-with-descriptor</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: EJB Lookup with descriptor</name>
   <properties>
     <!--
@@ -87,7 +87,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/lookup-of-ejbs/pom.xml b/examples/lookup-of-ejbs/pom.xml
index 22e7ca1..19e419c 100644
--- a/examples/lookup-of-ejbs/pom.xml
+++ b/examples/lookup-of-ejbs/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>lookup-of-ejbs</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @EJB Lookup</name>
   <properties>
     <!--
@@ -87,7 +87,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/mbean-auto-registration/pom.xml b/examples/mbean-auto-registration/pom.xml
index addc564..c160b8f 100644
--- a/examples/mbean-auto-registration/pom.xml
+++ b/examples/mbean-auto-registration/pom.xml
@@ -20,11 +20,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>mbean-auto-registration</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: MBean Auto Registration</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/moviefun-rest/pom.xml b/examples/moviefun-rest/pom.xml
index 31e5ed3..136e97d 100644
--- a/examples/moviefun-rest/pom.xml
+++ b/examples/moviefun-rest/pom.xml
@@ -15,11 +15,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>moviefun-rest</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Moviefun Rest</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
   </properties>
   <repositories>
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-paginator-button.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-paginator-button.handlebars
index 0031aba..0f89380 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-paginator-button.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-paginator-button.handlebars
@@ -1 +1,17 @@
+<!--
+  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.
+-->
 <li><a href="{{pageNumber}}">{{pageText}}</a></li>
\ No newline at end of file
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-row.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-row.handlebars
index dc9bf7c..86914cb 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-row.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/application-table-row.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <td><a href="edit" class="ux-edit-row">{{title}}</a></td>
 <td>{{director}}</td>
 <td>{{genre}}</td>
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/application.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/application.handlebars
index f15d1a9..ae6e172 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/application.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/application.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="row">
     <div class="col-md-12">
         <div class="panel panel-default">
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/container.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/container.handlebars
index dba60dd..424be3f7 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/container.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/container.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="navbar navbar-inverse navbar-fixed-top">
     <div class="container">
         <div class="navbar-header">
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/load-data-link.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/load-data-link.handlebars
index 1785578..3a2d146 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/load-data-link.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/load-data-link.handlebars
@@ -1 +1,17 @@
+<!--
+  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.
+-->
 <a href="load-data">{{i18n "load.dada"}}</a>
\ No newline at end of file
diff --git a/examples/moviefun-rest/src/main/webapp/app/js/templates/movie.handlebars b/examples/moviefun-rest/src/main/webapp/app/js/templates/movie.handlebars
index 97c511c..70623e4 100644
--- a/examples/moviefun-rest/src/main/webapp/app/js/templates/movie.handlebars
+++ b/examples/moviefun-rest/src/main/webapp/app/js/templates/movie.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="modal-dialog">
     <div class="modal-content">
         <div class="modal-header">
diff --git a/examples/moviefun/pom.xml b/examples/moviefun/pom.xml
index af8593f..e35132a 100644
--- a/examples/moviefun/pom.xml
+++ b/examples/moviefun/pom.xml
@@ -15,11 +15,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>moviefun</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Moviefun</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
   </properties>
   <repositories>
@@ -102,7 +102,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <tomeeClassifier>plus</tomeeClassifier>
           <args>-Xmx512m -XX:PermSize=256m</args>
@@ -163,7 +163,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -176,7 +176,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <!--<classifier>uber</classifier> -->
       <scope>test</scope>
     </dependency>
@@ -200,7 +200,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/movies-complete-meta/pom.xml b/examples/movies-complete-meta/pom.xml
index 76645cc..e1934a7 100644
--- a/examples/movies-complete-meta/pom.xml
+++ b/examples/movies-complete-meta/pom.xml
@@ -24,7 +24,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>movies-complete-meta</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Movies Complete (Meta)</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -79,7 +79,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/examples/movies-complete/pom.xml b/examples/movies-complete/pom.xml
index 0b4dec8..fed8197 100644
--- a/examples/movies-complete/pom.xml
+++ b/examples/movies-complete/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>movies-complete</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Movies Complete</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/mp-config-example/pom.xml b/examples/mp-config-example/pom.xml
index e053d72..5b44909 100644
--- a/examples/mp-config-example/pom.xml
+++ b/examples/mp-config-example/pom.xml
@@ -19,13 +19,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-config-example</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>MicroProfile :: Examples :: Config</name>
   <properties>
     <version.javaee-api>8.0</version.javaee-api>
     <microprofile.config.version>1.3</microprofile.config.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.arquillian>1.1.13.Final</version.arquillian>
   </properties>
   <dependencies>
diff --git a/examples/mp-config-source-database/pom.xml b/examples/mp-config-source-database/pom.xml
index 90df75a..84e2874 100644
--- a/examples/mp-config-source-database/pom.xml
+++ b/examples/mp-config-source-database/pom.xml
@@ -19,14 +19,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-config-source-database</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>MicroProfile :: Examples :: Config Source Database</name>
   <properties>
     <version.javaee-api>8.0-2</version.javaee-api>
     <version.microprofile>2.0.1</version.microprofile>
     <version.arquillian>1.1.13.Final</version.arquillian>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-custom-healthcheck/pom.xml b/examples/mp-custom-healthcheck/pom.xml
index ef8c6e0..eb24048 100644
--- a/examples/mp-custom-healthcheck/pom.xml
+++ b/examples/mp-custom-healthcheck/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-custom-healthcheck</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Custom HealthCheck</name>
   <properties>
@@ -31,7 +31,7 @@
     <junit.version>4.12</junit.version>
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-faulttolerance-fallback/pom.xml b/examples/mp-faulttolerance-fallback/pom.xml
index fbcf066..5f672a4 100644
--- a/examples/mp-faulttolerance-fallback/pom.xml
+++ b/examples/mp-faulttolerance-fallback/pom.xml
@@ -17,7 +17,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-faulttolerance-fallback</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Fault Tolerance :: Fallback</name>
   <properties>
@@ -29,7 +29,7 @@
     <junit.version>4.12</junit.version>
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-faulttolerance-retry/pom.xml b/examples/mp-faulttolerance-retry/pom.xml
index 58dd232..50aa39a 100644
--- a/examples/mp-faulttolerance-retry/pom.xml
+++ b/examples/mp-faulttolerance-retry/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-faulttolerance-retry</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Fault Tolerance :: Retry</name>
   <properties>
@@ -31,7 +31,7 @@
     <junit.version>4.12</junit.version>
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-faulttolerance-timeout/pom.xml b/examples/mp-faulttolerance-timeout/pom.xml
index 9e91723..fc03a48 100644
--- a/examples/mp-faulttolerance-timeout/pom.xml
+++ b/examples/mp-faulttolerance-timeout/pom.xml
@@ -19,7 +19,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-faulttolerance-timeout</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Fault Tolerance :: Timeout</name>
   <properties>
@@ -27,7 +27,7 @@
     <arquillian-junit-container.version>1.4.0.Final</arquillian-junit-container.version>
     <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
     <maven-war-plugin.version>3.1.0</maven-war-plugin.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <javaee-api.version>8.0</javaee-api.version>
     <junit.version>4.12</junit.version>
     <maven.compiler.source>1.8</maven.compiler.source>
diff --git a/examples/mp-jsonb-configuration/pom.xml b/examples/mp-jsonb-configuration/pom.xml
index d98b59b..7f5cf9a 100644
--- a/examples/mp-jsonb-configuration/pom.xml
+++ b/examples/mp-jsonb-configuration/pom.xml
@@ -19,13 +19,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-jsonb-configuration</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile JSONB Configuration</name>
   <properties>
     <version.javaee-api>8.0</version.javaee-api>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-jwt-bean-validation-strongly-typed/pom.xml b/examples/mp-jwt-bean-validation-strongly-typed/pom.xml
index 0718f4e..b127dd2 100644
--- a/examples/mp-jwt-bean-validation-strongly-typed/pom.xml
+++ b/examples/mp-jwt-bean-validation-strongly-typed/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-jwt-bean-validation-strongly-typed</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>Apache TomEE + MicroProfile JWT Bean Validation, Strongly-typed Annotations</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.javaee-api>8.0</version.javaee-api>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
     <mp-jwt.version>1.1</mp-jwt.version>
   </properties>
diff --git a/examples/mp-jwt-bean-validation/pom.xml b/examples/mp-jwt-bean-validation/pom.xml
index 38eb767..2ffcf26 100644
--- a/examples/mp-jwt-bean-validation/pom.xml
+++ b/examples/mp-jwt-bean-validation/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-jwt-bean-validation</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>Apache TomEE + MicroProfile JWT Bean Validation</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.javaee-api>8.0</version.javaee-api>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
     <mp-jwt.version>1.1</mp-jwt.version>
   </properties>
diff --git a/examples/mp-metrics-counted/pom.xml b/examples/mp-metrics-counted/pom.xml
index 93e857c..f83fe5a 100644
--- a/examples/mp-metrics-counted/pom.xml
+++ b/examples/mp-metrics-counted/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-metrics-counted</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Metrics Counted</name>
   <properties>
@@ -30,7 +30,7 @@
     <junit.version>4.12</junit.version>
     <docker.image.name>tomee/${project.artifactId}</docker.image.name>
     <docker.file.name>Dockerfile</docker.file.name>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-metrics-gauge/pom.xml b/examples/mp-metrics-gauge/pom.xml
index 589fb00..1c63258 100644
--- a/examples/mp-metrics-gauge/pom.xml
+++ b/examples/mp-metrics-gauge/pom.xml
@@ -18,14 +18,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.tomee</groupId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <artifactId>mp-metrics-gauge</artifactId>
   <packaging>war</packaging>
   <properties>
     <junit.version>4.12</junit.version>
     <version.javaee-api>8.0-1</version.javaee-api>
     <microprofile.metrics.version>1.1.1</microprofile.metrics.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
   </properties>
   <dependencies>
diff --git a/examples/mp-metrics-histogram/pom.xml b/examples/mp-metrics-histogram/pom.xml
index cc4fd7b..b1e6bc9 100644
--- a/examples/mp-metrics-histogram/pom.xml
+++ b/examples/mp-metrics-histogram/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-metrics-histogram</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Metrics Histogram</name>
   <properties>
@@ -28,7 +28,7 @@
     <microprofile.metrics.version>1.1</microprofile.metrics.version>
     <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
     <junit.version>4.12</junit.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-metrics-metered/pom.xml b/examples/mp-metrics-metered/pom.xml
index 2e5fef0..700009e 100644
--- a/examples/mp-metrics-metered/pom.xml
+++ b/examples/mp-metrics-metered/pom.xml
@@ -18,7 +18,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <artifactId>mp-metrics-metered</artifactId>
   <packaging>war</packaging>
   <properties>
@@ -26,7 +26,7 @@
     <microprofile.metrics.version>1.1</microprofile.metrics.version>
     <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
     <junit.version>4.12</junit.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-metrics-timed/pom.xml b/examples/mp-metrics-timed/pom.xml
index c7b05eb..af3bee5 100644
--- a/examples/mp-metrics-timed/pom.xml
+++ b/examples/mp-metrics-timed/pom.xml
@@ -19,14 +19,14 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-metrics-timed</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile Metrics Timed</name>
   <properties>
     <version.javaee-api>8.0</version.javaee-api>
     <microprofile.metrics.version>1.1</microprofile.metrics.version>
     <junit.version>4.12</junit.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-opentracing-traced/pom.xml b/examples/mp-opentracing-traced/pom.xml
index 65bcd29..5f9452e 100644
--- a/examples/mp-opentracing-traced/pom.xml
+++ b/examples/mp-opentracing-traced/pom.xml
@@ -20,11 +20,11 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-opentracing.traced</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <properties>
     <version.javaee-api>8.0</version.javaee-api>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
   </properties>
   <dependencies>
diff --git a/examples/mp-rest-client/pom.xml b/examples/mp-rest-client/pom.xml
index d5c4f7c..9dcd57c 100755
--- a/examples/mp-rest-client/pom.xml
+++ b/examples/mp-rest-client/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-rest-client</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: Microprofile REST Client</name>
   <properties>
@@ -28,7 +28,7 @@
     <version.javaee-api>8.0</version.javaee-api>
     <version.arquillian.bom>1.1.13.Final</version.arquillian.bom>
     <junit.version>4.12</junit.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/mp-rest-jwt-jwk/pom.xml b/examples/mp-rest-jwt-jwk/pom.xml
index 7cc36a9..dddb1fb 100644
--- a/examples/mp-rest-jwt-jwk/pom.xml
+++ b/examples/mp-rest-jwt-jwk/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-rest-jwt-jwk</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MP REST JWT JWK</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.javaee-api>8.0</version.javaee-api>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
     <mp-jwt.version>1.1</mp-jwt.version>
     <mp-rest-client.version>1.1</mp-rest-client.version>
diff --git a/examples/mp-rest-jwt-principal/pom.xml b/examples/mp-rest-jwt-principal/pom.xml
index e6a8678..891a20b 100644
--- a/examples/mp-rest-jwt-principal/pom.xml
+++ b/examples/mp-rest-jwt-principal/pom.xml
@@ -20,12 +20,12 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-rest-jwt-principal</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MP REST JWT PRINCIPAL</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.javaee-api>8.0</version.javaee-api>
     <junit.version>4.23</junit.version>
     <arquillian-bom.version>1.4.1.Final</arquillian-bom.version>
diff --git a/examples/mp-rest-jwt-public-key/pom.xml b/examples/mp-rest-jwt-public-key/pom.xml
index d70a726..4f51e50 100644
--- a/examples/mp-rest-jwt-public-key/pom.xml
+++ b/examples/mp-rest-jwt-public-key/pom.xml
@@ -21,13 +21,13 @@
 
   <groupId>org.superbiz</groupId>
   <artifactId>mp-rest-jwt-public-key</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MP REST JWT Public Key</name>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.javaee-api>8.0</version.javaee-api>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
     <mp-jwt.version>1.1</mp-jwt.version>
diff --git a/examples/mp-rest-jwt/pom.xml b/examples/mp-rest-jwt/pom.xml
index 67a3781..53e4eb1 100644
--- a/examples/mp-rest-jwt/pom.xml
+++ b/examples/mp-rest-jwt/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mp-rest-jwt</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MP REST JWT</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.javaee-api>8.0</version.javaee-api>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.shrinkwrap.resolver>2.0.0</version.shrinkwrap.resolver>
     <mp-jwt.version>1.0</mp-jwt.version>
   </properties>
diff --git a/examples/mtom/pom.xml b/examples/mtom/pom.xml
index dc53bc5..cbd51b6 100644
--- a/examples/mtom/pom.xml
+++ b/examples/mtom/pom.xml
@@ -21,11 +21,11 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>mtom</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: MTOM</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
diff --git a/examples/multi-jpa-provider-testing/pom.xml b/examples/multi-jpa-provider-testing/pom.xml
index e61f825..91c71fc 100644
--- a/examples/multi-jpa-provider-testing/pom.xml
+++ b/examples/multi-jpa-provider-testing/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>multi-jpa-provider-testing</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Multiple JPA providers</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/multiple-arquillian-adapters/pom.xml b/examples/multiple-arquillian-adapters/pom.xml
index e1af6d0..ea3a31d 100644
--- a/examples/multiple-arquillian-adapters/pom.xml
+++ b/examples/multiple-arquillian-adapters/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>multiple-arquillian-adapters</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Multiple Arquillian Adapters</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <arquillian.version>1.1.10.Final</arquillian.version>
   </properties>
   <build>
diff --git a/examples/multiple-tomee-arquillian/pom.xml b/examples/multiple-tomee-arquillian/pom.xml
index 80456b4..cdbbdf2 100644
--- a/examples/multiple-tomee-arquillian/pom.xml
+++ b/examples/multiple-tomee-arquillian/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>multiple-tomee-arquillian</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Multiple TomEE with Arquillian</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
@@ -100,7 +100,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -118,7 +118,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/mvc-cxf-hibernate/pom.xml b/examples/mvc-cxf-hibernate/pom.xml
index 8c3b01f..0ee47a6 100644
--- a/examples/mvc-cxf-hibernate/pom.xml
+++ b/examples/mvc-cxf-hibernate/pom.xml
@@ -23,11 +23,11 @@
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MVC (CXF-based) with Hibernate</name>
   <description>OpenEJB :: Web Examples :: MVC 1.0 - Deltaspike - Hibernate</description>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <url>http://tomee.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.deltaspike>1.9.3</version.deltaspike>
     <version.krazo>1.1.0-M1</version.krazo>
     <version.arquillian>1.1.13.Final</version.arquillian>
@@ -53,7 +53,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
           <libs>
@@ -152,7 +152,7 @@
     <dependency>
       <groupId>org.eclipse.persistence</groupId>
       <artifactId>eclipselink</artifactId>
-      <version>2.6.3</version>
+      <version>2.7.7</version>
     </dependency>
     <!--  tests  -->
     <dependency>
@@ -194,7 +194,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/mvc-cxf/pom.xml b/examples/mvc-cxf/pom.xml
index 30fa066..e00f0cd 100644
--- a/examples/mvc-cxf/pom.xml
+++ b/examples/mvc-cxf/pom.xml
@@ -23,11 +23,11 @@
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MVC (CXF-based)</name>
   <description>OpenEJB :: Web Examples :: MVC 1.0 - Deltaspike</description>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <url>http://tomee.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.deltaspike>1.9.3</version.deltaspike>
     <version.krazo>1.1.0-M1</version.krazo>
     <version.arquillian>1.1.13.Final</version.arquillian>
@@ -53,7 +53,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
         </configuration>
@@ -127,7 +127,7 @@
     <dependency>
       <groupId>org.eclipse.persistence</groupId>
       <artifactId>eclipselink</artifactId>
-      <version>2.6.3</version>
+      <version>2.7.7</version>
     </dependency>
     <!--  tests  -->
     <dependency>
@@ -169,7 +169,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>ziplock</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/mvc-resteasy/pom.xml b/examples/mvc-resteasy/pom.xml
index 09a8564..f8869d7 100644
--- a/examples/mvc-resteasy/pom.xml
+++ b/examples/mvc-resteasy/pom.xml
@@ -23,11 +23,11 @@
   <packaging>war</packaging>
   <name>TomEE :: Examples :: MVC (RestEasy-based)</name>
   <description>OpenEJB :: Web Examples :: MVC 1.0 - RestEasy</description>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <url>http://tomee.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.krazo>1.1.0-M1</version.krazo>
     <resteasy.version>3.6.2.Final</resteasy.version>
     <version.arquillian>1.1.13.Final</version.arquillian>
@@ -53,7 +53,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <args>-Xmx512m -XX:PermSize=256m</args>
         </configuration>
@@ -118,6 +118,12 @@
       <version>${tomee.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore</artifactId>
+      <version>4.4.7</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.arquillian.graphene</groupId>
       <artifactId>graphene-webdriver</artifactId>
       <version>${version.graphene.webdriver}</version>
diff --git a/examples/myfaces-codi-demo/pom.xml b/examples/myfaces-codi-demo/pom.xml
index 4ebde01..62841fc 100644
--- a/examples/myfaces-codi-demo/pom.xml
+++ b/examples/myfaces-codi-demo/pom.xml
@@ -14,7 +14,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>myfaces-codi-demo</artifactId>
   <name>TomEE :: Examples :: JSF2/CDI/BV/JPA/CODI</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -42,7 +42,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
       </plugin>
       <plugin>
         <groupId>org.tomitribe.transformer</groupId>
diff --git a/examples/persistence-fragment/pom.xml b/examples/persistence-fragment/pom.xml
index df37cd7..4b1044f 100644
--- a/examples/persistence-fragment/pom.xml
+++ b/examples/persistence-fragment/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>persistence-fragment</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Persistence Fragment</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/pojo-webservice/pom.xml b/examples/pojo-webservice/pom.xml
index a6e4d77..aa141ea 100644
--- a/examples/pojo-webservice/pom.xml
+++ b/examples/pojo-webservice/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>pojo-webservice</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Pojo WS</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
@@ -63,7 +63,7 @@
         <!-- http://localhost:8080/pojo-webservice?wsdl -->
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <tomeeVersion>${tomee.version}</tomeeVersion>
           <tomeeClassifier>plus</tomeeClassifier>
diff --git a/examples/polling-parent/polling-client/pom.xml b/examples/polling-parent/polling-client/pom.xml
index 3b4bb60..5cc0878 100644
--- a/examples/polling-parent/polling-client/pom.xml
+++ b/examples/polling-parent/polling-client/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>polling-parent</artifactId>
     <groupId>jug</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/examples/polling-parent/polling-core/pom.xml b/examples/polling-parent/polling-core/pom.xml
index c5ed66c..fec08c2 100644
--- a/examples/polling-parent/polling-core/pom.xml
+++ b/examples/polling-parent/polling-core/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>polling-parent</artifactId>
     <groupId>jug</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/examples/polling-parent/polling-domain/pom.xml b/examples/polling-parent/polling-domain/pom.xml
index 428735a..b89041a 100644
--- a/examples/polling-parent/polling-domain/pom.xml
+++ b/examples/polling-parent/polling-domain/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>polling-parent</artifactId>
     <groupId>jug</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/examples/polling-parent/polling-web/pom.xml b/examples/polling-parent/polling-web/pom.xml
index 43fe0db..286e5d9 100644
--- a/examples/polling-parent/polling-web/pom.xml
+++ b/examples/polling-parent/polling-web/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>polling-parent</artifactId>
     <groupId>jug</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>polling-web</artifactId>
diff --git a/examples/polling-parent/pom.xml b/examples/polling-parent/pom.xml
index d8c6230..99ca2f2 100644
--- a/examples/polling-parent/pom.xml
+++ b/examples/polling-parent/pom.xml
@@ -21,14 +21,14 @@
 
   <groupId>jug</groupId>
   <artifactId>polling-parent</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>TomEE :: Examples :: Polling</name>
 
   <properties>
     <xbean.version>4.14</xbean.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <cxf.version>3.3.1</cxf.version>
   </properties>
 
diff --git a/examples/pom.xml b/examples/pom.xml
index 240b132..88cebda 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>examples</artifactId>
   <packaging>pom</packaging>
diff --git a/examples/projectstage-demo/pom.xml b/examples/projectstage-demo/pom.xml
index 7382275..ed7a5ee 100644
--- a/examples/projectstage-demo/pom.xml
+++ b/examples/projectstage-demo/pom.xml
@@ -20,10 +20,10 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>projectstage-demo</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: DeltaSpike ProjectStage</name>
   <properties>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   <repositories>
diff --git a/examples/quartz-app/pom.xml b/examples/quartz-app/pom.xml
index 0f42d47..af1fc5f 100644
--- a/examples/quartz-app/pom.xml
+++ b/examples/quartz-app/pom.xml
@@ -20,12 +20,12 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz.quartz</groupId>
   <artifactId>quartz-app</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>TomEE :: Examples :: Quartz</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <modules>
     <module>quartz-ra</module>
diff --git a/examples/quartz-app/quartz-beans/pom.xml b/examples/quartz-app/quartz-beans/pom.xml
index 3994ffb..7c84249 100644
--- a/examples/quartz-app/quartz-beans/pom.xml
+++ b/examples/quartz-app/quartz-beans/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.superbiz.quartz</groupId>
     <artifactId>quartz-app</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>quartz-beans</artifactId>
diff --git a/examples/quartz-app/quartz-ra/pom.xml b/examples/quartz-app/quartz-ra/pom.xml
index 6733603..d8f262b 100644
--- a/examples/quartz-app/quartz-ra/pom.xml
+++ b/examples/quartz-app/quartz-ra/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.superbiz.quartz</groupId>
     <artifactId>quartz-app</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>quartz-ra</artifactId>
diff --git a/examples/realm-in-tomee/pom.xml b/examples/realm-in-tomee/pom.xml
index d952e57..fe85560 100644
--- a/examples/realm-in-tomee/pom.xml
+++ b/examples/realm-in-tomee/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>realm-in-tomee</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: DataSource Realm</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -46,7 +46,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
       </plugin>
       <plugin>
         <groupId>org.tomitribe.transformer</groupId>
diff --git a/examples/reload-persistence-unit-properties/pom.xml b/examples/reload-persistence-unit-properties/pom.xml
index 2f7f114..b7b8bfd 100644
--- a/examples/reload-persistence-unit-properties/pom.xml
+++ b/examples/reload-persistence-unit-properties/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>reload-persistence-unit-properties</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Reloadable Persistence Unit Properties</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/examples/resources-declared-in-webapp/pom.xml b/examples/resources-declared-in-webapp/pom.xml
index 19cd11d..8f069e0 100644
--- a/examples/resources-declared-in-webapp/pom.xml
+++ b/examples/resources-declared-in-webapp/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>resources-declared-in-webapp</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Resource Declared In A Webapp</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
diff --git a/examples/resources-jmx-example/pom.xml b/examples/resources-jmx-example/pom.xml
index 198c009..5beaabc 100644
--- a/examples/resources-jmx-example/pom.xml
+++ b/examples/resources-jmx-example/pom.xml
@@ -22,11 +22,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>resources-jmx</artifactId>
   <packaging>pom</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Resources/JMX Example</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <modules>
     <module>resources-jmx-ejb</module>
diff --git a/examples/resources-jmx-example/resources-jmx-ear/pom.xml b/examples/resources-jmx-example/resources-jmx-ear/pom.xml
index e6be906..14e8e41 100644
--- a/examples/resources-jmx-example/resources-jmx-ear/pom.xml
+++ b/examples/resources-jmx-example/resources-jmx-ear/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>resources-jmx</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>resources-jmx-ear</artifactId>
   <packaging>ear</packaging>
diff --git a/examples/resources-jmx-example/resources-jmx-ejb/pom.xml b/examples/resources-jmx-example/resources-jmx-ejb/pom.xml
index e9274ef..0e00a5b 100644
--- a/examples/resources-jmx-example/resources-jmx-ejb/pom.xml
+++ b/examples/resources-jmx-example/resources-jmx-ejb/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>resources-jmx</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>resources-jmx-ejb</artifactId>
diff --git a/examples/rest-applicationcomposer-mockito/pom.xml b/examples/rest-applicationcomposer-mockito/pom.xml
index 7007a76..a18f7f8 100644
--- a/examples/rest-applicationcomposer-mockito/pom.xml
+++ b/examples/rest-applicationcomposer-mockito/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>rest-applicationcomposer-mockito</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: REST, Mockito and Application Composer</name>
 
   <properties>
@@ -75,19 +75,19 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-mockito</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/rest-applicationcomposer/pom.xml b/examples/rest-applicationcomposer/pom.xml
index 3f03a43..2f9bd44 100644
--- a/examples/rest-applicationcomposer/pom.xml
+++ b/examples/rest-applicationcomposer/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>rest-applicationcomposer</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: REST and Application Composer</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,13 +83,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/rest-cdi/README.adoc b/examples/rest-cdi/README.adoc
index cb91176..6b253a7 100644
--- a/examples/rest-cdi/README.adoc
+++ b/examples/rest-cdi/README.adoc
@@ -1,4 +1,4 @@
-:index-group: Unrevised
+:index-group: REST
 :jbake-type: page
 :jbake-status: status=published
 = Simple REST with CDI
@@ -6,17 +6,9 @@
 Defining a REST service is pretty easy, simply ad @Path annotation to a
 class then define on methods the HTTP method to use (@GET, @POST, …).
 
-#The Code
-
 == The REST service: @Path, @Produces, @Consumes
 
-Here we see a bean that uses the Bean-Managed Concurrency option as well
-as the @Startup annotation which causes the bean to be instantiated by
-the container when the application starts. Singleton beans with
-@ConcurrencyManagement(BEAN) are responsible for their own
-thread-safety. The bean shown is a simple properties ``registry'' and
-provides a place where options could be set and retrieved by all beans
-in the application.
+Here we have a simple REST, we annotate the class with `@Path("/greeting")` to indicate the route corresponding to the `GreetingService` class. We define `message()` as `@GET` and `lowerCase()` as `@POST` for this `/greeting` route and inject the` Greeting` class using the annotation `@Inject`. There, we have a service! Simple isn't it?
 
 Actually lines:
 
@@ -32,17 +24,42 @@
 [source,java]
 ----
 @Path("/greeting")
-@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
 public class GreetingService {
+
+    @Inject
+    Greeting greeting;
+
     @GET
-    public Response message() {
-        return new Response("Hi REST!");
+    public Greet message() {
+        return new Greet("Hi REST!");
     }
 
     @POST
-    public Response lowerCase(final Request message) {
-        return new Response(message.getValue().toLowerCase());
+    public Greet lowerCase(final Request message) {
+        return new Greet(greeting.doSomething(message.getValue()));
+    }
+
+    @XmlRootElement // for xml only, useless for json (johnzon is the default)
+    public static class Greet {
+        private String message;
+
+        public Greet(final String message) {
+            this.message = message;
+        }
+
+        public Greet() {
+            this(null);
+        }
+
+        public String getMessage() {
+            return message;
+        }
+
+        public void setMessage(final String message) {
+            this.message = message;
+        }
     }
 }
 ----
@@ -65,7 +82,7 @@
 Finally to test it we use cxf client API to call the REST service in
 get() and post() methods.
 
-Side note: to show we use JSON or XML depending on the test method we
+NOTE: to show we use JSON or XML depending on the test method we
 activated on EnableServices the attribute httpDebug which prints the
 http messages in the logs.
 
@@ -74,57 +91,73 @@
 package org.superbiz.rest;
 
 import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.johnzon.jaxrs.JohnzonProvider;
 import org.apache.openejb.jee.WebApp;
 import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.junit.Classes;
+import org.apache.openejb.testing.Classes;
+import org.apache.openejb.testing.Configuration;
 import org.apache.openejb.testing.EnableServices;
 import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.apache.openejb.util.NetworkUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
+import java.util.Properties;
 
+import static java.util.Arrays.asList;
 import static org.junit.Assert.assertEquals;
 
 @EnableServices(value = "jaxrs", httpDebug = true)
 @RunWith(ApplicationComposer.class)
 public class GreetingServiceTest {
+    private int port;
+
+    @Configuration
+    public Properties randomPort() {
+        port = NetworkUtil.getNextAvailablePort();
+        return new PropertiesBuilder().p("httpejbd.port", Integer.toString(port)).build();
+    }
+
     @Module
-    @Classes(value = {GreetingService.class, Greeting.class}, cdi = true) //This enables the CDI magic
+    @Classes(value = {GreetingService.class, Greeting.class}, cdi = true) // This enables the CDI magic
     public WebApp app() {
         return new WebApp().contextRoot("test");
     }
 
     @Test
     public void getXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
+        final String message = WebClient.create("http://localhost:" + port).path("/test/greeting/")
                 .accept(MediaType.APPLICATION_XML_TYPE)
-                .get(Response.class).getValue();
+                .get(GreetingService.Greet.class).getMessage();
         assertEquals("Hi REST!", message);
     }
 
     @Test
     public void postXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
+        final String message = WebClient.create("http://localhost:" + port).path("/test/greeting/")
                 .accept(MediaType.APPLICATION_XML_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
+                .type(MediaType.APPLICATION_XML_TYPE)
+                .post(new Request("Hi REST!"), GreetingService.Greet.class).getMessage();
         assertEquals("hi rest!", message);
     }
 
     @Test
     public void getJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
+        final String message = WebClient.create("http://localhost:" + port, asList(new JohnzonProvider<GreetingService.Greet>())).path("/test/greeting/")
                 .accept(MediaType.APPLICATION_JSON_TYPE)
-                .get(Response.class).getValue();
+                .get(GreetingService.Greet.class).getMessage();
         assertEquals("Hi REST!", message);
     }
 
     @Test
     public void postJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
+        final String message = WebClient.create("http://localhost:" + port, asList(new JohnzonProvider<GreetingService.Greet>())).path("/test/greeting/")
                 .accept(MediaType.APPLICATION_JSON_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
+                .type(MediaType.APPLICATION_JSON_TYPE)
+                .post(new Request("Hi REST!"), GreetingService.Greet.class).getMessage();
         assertEquals("hi rest!", message);
     }
 }
@@ -142,256 +175,393 @@
 Which should create output like the following.
 
 [source,java]
-----
-/opt/softs/java/jdk1.6.0_30/bin/java -ea -Didea.launcher.port=7534 -Didea.launcher.bin.path=/opt/softs/idea/bin -Dfile.encoding=UTF-8 -classpath /opt/softs/idea/lib/idea_rt.jar:/opt/softs/idea/plugins/junit/lib/junit-rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/plugin.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/javaws.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jce.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/charsets.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/resources.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/deploy.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/management-agent.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jsse.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/localedata.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunjce_provider.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunpkcs11.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/dnsns.jar:/opt/dev/openejb/openejb-trunk/examples/rest-cdi/target/test-classes:/opt/dev/openejb/openejb-trunk/examples/rest-cdi/target/classes:/home/rmannibucau/.m2/repository/org/apache/openejb/javaee-api/6.0-4/javaee-api-6.0-4.jar:/home/rmannibucau/.m2/repository/junit/junit/4.10/junit-4.10.jar:/home/rmannibucau/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-rs/4.5.1/openejb-cxf-rs-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-http/4.5.1/openejb-http-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-core/4.5.1/openejb-core-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/mbean-annotation-api/4.5.1/mbean-annotation-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jpa-integration/4.5.1/openejb-jpa-integration-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-api/4.5.1/openejb-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-loader/4.5.1/openejb-loader-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-javaagent/4.5.1/openejb-javaagent-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jee/4.5.1/openejb-jee-4.5.1.jar:/home/rmannibucau/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.13/jaxb-impl-2.1.13.jar:/home/rmannibucau/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-ra/5.7.0/activemq-ra-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-core/5.7.0/activemq-core-5.7.0.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/kahadb/5.7.0/kahadb-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.jar:/home/rmannibucau/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/home/rmannibucau/.m2/repository/commons-net/commons-net/3.1/commons-net-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-connector/3.1.1/geronimo-connector-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-transaction/3.1.1/geronimo-transaction-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.6_spec/1.0/geronimo-j2ee-connector_1.6_spec-1.0.jar:/home/rmannibucau/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.8.2/geronimo-javamail_1.4_mail-1.8.2.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-asm-shaded/3.12/xbean-asm-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-finder-shaded/3.12/xbean-finder-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-reflect/3.12/xbean-reflect-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-naming/3.12/xbean-naming-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-bundleutils/3.12/xbean-bundleutils-3.12.jar:/home/rmannibucau/.m2/repository/org/hsqldb/hsqldb/2.2.8/hsqldb-2.2.8.jar:/home/rmannibucau/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar:/home/rmannibucau/.m2/repository/commons-pool/commons-pool/1.5.7/commons-pool-1.5.7.jar:/home/rmannibucau/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.6.1/swizzle-stream-1.6.1.jar:/home/rmannibucau/.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar:/home/rmannibucau/.m2/repository/org/quartz-scheduler/quartz/2.1.6/quartz-2.1.6.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-jdk14/1.7.2/slf4j-jdk14-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-impl/1.1.6/openwebbeans-impl-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-spi/1.1.6/openwebbeans-spi-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ejb/1.1.6/openwebbeans-ejb-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee/1.1.6/openwebbeans-ee-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee-common/1.1.6/openwebbeans-ee-common-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-web/1.1.6/openwebbeans-web-1.1.6.jar:/home/rmannibucau/.m2/repository/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA.jar:/home/rmannibucau/.m2/repository/org/apache/openjpa/openjpa/2.2.0/openjpa-2.2.0.jar:/home/rmannibucau/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/rmannibucau/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/rmannibucau/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/home/rmannibucau/.m2/repository/asm/asm/3.2/asm-3.2.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-core/0.5/bval-core-0.5.jar:/home/rmannibucau/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.3/commons-beanutils-core-1.8.3.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-jsr303/0.5/bval-jsr303-0.5.jar:/home/rmannibucau/.m2/repository/org/fusesource/jansi/jansi/1.8/jansi-1.8.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-server/4.5.1/openejb-server-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-client/4.5.1/openejb-client-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-ejbd/4.5.1/openejb-ejbd-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-rest/4.5.1/openejb-rest-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-transport/4.5.1/openejb-cxf-transport-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.7.0/cxf-rt-transports-http-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-api/2.7.0/cxf-api-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/ws/xmlschema/xmlschema-core/2.0.3/xmlschema-core-2.0.3.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-core/2.7.0/cxf-rt-core-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-frontend-jaxrs/2.7.0/cxf-rt-frontend-jaxrs-2.7.0.jar:/home/rmannibucau/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.0-m10/javax.ws.rs-api-2.0-m10.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-bindings-xml/2.7.0/cxf-rt-bindings-xml-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-providers/2.7.0/cxf-rt-rs-extension-providers-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-search/2.7.0/cxf-rt-rs-extension-search-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-cors/2.7.0/cxf-rt-rs-security-cors-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-oauth2/2.7.0/cxf-rt-rs-security-oauth2-2.7.0.jar:/home/rmannibucau/.m2/repository/org/codehaus/jettison/jettison/1.3/jettison-1.3.jar:/home/rmannibucau/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.superbiz.rest.GreetingServiceTest
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.rest.GreetingServiceTest
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Succeeded in installing singleton service
 INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
 INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
 INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
 INFO - Creating TransactionManager(id=Default Transaction Manager)
 INFO - Creating SecurityService(id=Default Security Service)
 INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
 INFO - Creating ServerService(id=cxf-rs)
+INFO - Creating ServerService(id=httpejbd)
+INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFO - Using 'print=true'
+FINE - Using default '.xml=false'
+FINE - Using default 'stream.count=false'
 INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
 INFO -   ** Bound Services **
 INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
+INFO -   httpejbd             127.0.0.1       44455 
 INFO - -------
 INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
 INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
 INFO - Creating Container(id=Default Managed Container)
 INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
+INFO - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFO - Creating dedicated application classloader for GreetingServiceTest
+INFO - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+WARNING: An illegal reflective access operation has occurred
+WARNING: Illegal reflective access by org.apache.openejb.util.proxy.LocalBeanProxyFactory$Unsafe (file:/home/daniel/.m2/repository/org/apache/tomee/openejb-core/8.0.5-SNAPSHOT/openejb-core-8.0.5-SNAPSHOT.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
+WARNING: Please consider reporting this to the maintainers of org.apache.openejb.util.proxy.LocalBeanProxyFactory$Unsafe
+WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
+WARNING: All illegal access operations will be denied in a future release
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
 INFO - OpenWebBeans Container is starting...
 INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 102 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 476 ms.
+INFO - Using readers:
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@693b3e2
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@c68e0782
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@ef757da4
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@778a403d
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@7bca3240
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@2407e67e
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@b06cecc0
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@493b69a5
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@5dfe78fe
+INFO - Using writers:
+INFO -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@5ec30d6b
+INFO -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@58b50d53
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@b06cecc0
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@7bca3240
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@693b3e2
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@c68e0782
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@ef757da4
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@778a403d
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@2407e67e
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@493b69a5
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@5dfe78fe
+INFO - Using exception mappers:
+INFO -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@8dfc1000
+INFO -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@b734211e
+INFO -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@2716b807
+INFO - REST Application: http://127.0.0.1:44455/test/         -> org.apache.openejb.server.rest.InternalApplication@e4c4de9b
+INFO -      Service URI: http://127.0.0.1:44455/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFO -               GET http://127.0.0.1:44455/test/greeting ->      Greet message()         
+INFO -              POST http://127.0.0.1:44455/test/greeting ->      Greet lowerCase(Request)
+INFO - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
 FINE - ******************* REQUEST ******************
-GET http://localhost:4204/test/greeting/
-Host=localhost:4204
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/xml
-Content-Type=*/*
-Pragma=no-cache
-Cache-Control=no-cache
+GET http://localhost:44455/test/greeting/
+Accept=[application/xml]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.7]
+Connection=[keep-alive]
+Host=[localhost:44455]
+Pragma=[no-cache]
 
 
 **********************************************
 
 FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 44
-Set-Cookie: EJBSESSIONID=fc5037fa-641c-495d-95ca-0755cfa50beb; Path=/
-Content-Type: application/xml
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
 Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
+Content-Length: 97
+Date: Sun, 15 Nov 2020 20:48:49 GMT
+Content-Type: application/xml
 
-<response><value>Hi REST!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><greet><message>Hi REST!</message></greet>
+INFO - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Stopping network services
 INFO - Stopping server services
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Succeeded in installing singleton service
 INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
 INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
 INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
 INFO - Creating TransactionManager(id=Default Transaction Manager)
 INFO - Creating SecurityService(id=Default Security Service)
 INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
 INFO - Creating ServerService(id=cxf-rs)
+INFO - Creating ServerService(id=httpejbd)
+INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFO - Using 'print=true'
+FINE - Using default '.xml=false'
+FINE - Using default 'stream.count=false'
 INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
 INFO -   ** Bound Services **
 INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
+INFO -   httpejbd             127.0.0.1       36735 
 INFO - -------
 INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
 INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
 INFO - Creating Container(id=Default Managed Container)
 INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
+INFO - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFO - Creating dedicated application classloader for GreetingServiceTest
+INFO - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
 INFO - OpenWebBeans Container is starting...
 INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 11 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 109 ms.
+INFO - Using readers:
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@db2555f8
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@73151fc3
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@280eff60
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@e6d6d01c
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@9aa666e
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@de52b81d
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@2773d96d
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@5a199358
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@8b965c01
+INFO - Using writers:
+INFO -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@7a775189
+INFO -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@b03af552
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@2773d96d
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@9aa666e
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@db2555f8
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@73151fc3
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@280eff60
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@e6d6d01c
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@de52b81d
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@5a199358
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@8b965c01
+INFO - Using exception mappers:
+INFO -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@d855787e
+INFO -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@16616b4d
+INFO -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@874c811e
+INFO - REST Application: http://127.0.0.1:36735/test/         -> org.apache.openejb.server.rest.InternalApplication@27131dcb
+INFO -      Service URI: http://127.0.0.1:36735/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFO -               GET http://127.0.0.1:36735/test/greeting ->      Greet message()         
+INFO -              POST http://127.0.0.1:36735/test/greeting ->      Greet lowerCase(Request)
+INFO - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
 FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/xml
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
+POST http://localhost:36735/test/greeting/
+Accept=[application/xml]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.7]
+Connection=[keep-alive]
+Host=[localhost:36735]
+Pragma=[no-cache]
+Content-Length=[97]
+Content-Type=[application/xml]
 
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
 **********************************************
 
 FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 44
-Set-Cookie: EJBSESSIONID=7cb2246d-5738-4a85-aac5-c0fb5340d36a; Path=/
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
+Connection: close
+Content-Length: 97
+Date: Sun, 15 Nov 2020 20:48:50 GMT
 Content-Type: application/xml
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
 
-<response><value>hi rest!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><greet><message>hi rest!</message></greet>
+INFO - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Stopping network services
 INFO - Stopping server services
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Succeeded in installing singleton service
 INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
 INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
 INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
 INFO - Creating TransactionManager(id=Default Transaction Manager)
 INFO - Creating SecurityService(id=Default Security Service)
 INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
 INFO - Creating ServerService(id=cxf-rs)
+SEVERE - MBean Object org.apache.cxf.bus.extension.ExtensionManagerBus@85333fc register to MBeanServer failed : javax.management.InstanceAlreadyExistsException: org.apache.cxf:bus.id=openejb.cxf.bus,type=Bus,instance.id=139670524
+INFO - Creating ServerService(id=httpejbd)
+INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFO - Using 'print=true'
+FINE - Using default '.xml=false'
+FINE - Using default 'stream.count=false'
 INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
 INFO -   ** Bound Services **
 INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
+INFO -   httpejbd             127.0.0.1       42019 
 INFO - -------
 INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
 INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
 INFO - Creating Container(id=Default Managed Container)
 INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
+INFO - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFO - Creating dedicated application classloader for GreetingServiceTest
+INFO - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
 INFO - OpenWebBeans Container is starting...
 INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 80 ms.
+INFO - Using readers:
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@3f537f62
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@db539692
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@df3f15ad
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@ad292069
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@f8ae41f1
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@63f3092c
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@1988f4f7
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@77b845b1
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@76debaaf
+INFO - Using writers:
+INFO -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@a74630bf
+INFO -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@abe4d74b
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@1988f4f7
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@f8ae41f1
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@3f537f62
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@db539692
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@df3f15ad
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@ad292069
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@63f3092c
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@77b845b1
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@76debaaf
+INFO - Using exception mappers:
+INFO -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@3916141e
+INFO -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@dd2239cb
+INFO -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@d549b1a8
+INFO - REST Application: http://127.0.0.1:42019/test/         -> org.apache.openejb.server.rest.InternalApplication@bbcd5d77
+INFO -      Service URI: http://127.0.0.1:42019/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFO -               GET http://127.0.0.1:42019/test/greeting ->      Greet message()         
+INFO -              POST http://127.0.0.1:42019/test/greeting ->      Greet lowerCase(Request)
+INFO - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
 FINE - ******************* REQUEST ******************
-GET http://localhost:4204/test/greeting/
-Host=localhost:4204
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=*/*
-Pragma=no-cache
-Cache-Control=no-cache
+GET http://localhost:42019/test/greeting/
+Accept=[application/json]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.7]
+Connection=[keep-alive]
+Host=[localhost:42019]
+Pragma=[no-cache]
 
 
 **********************************************
 
 FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=7112a057-fc4c-4f52-a556-1617320d2275; Path=/
-Content-Type: application/json
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
 Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
+Content-Length: 22
+Date: Sun, 15 Nov 2020 20:48:51 GMT
+Content-Type: application/json
 
-{"response":{"value":"Hi REST!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+{"message":"Hi REST!"}
+INFO - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Stopping network services
 INFO - Stopping server services
+INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Succeeded in installing singleton service
 INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
 INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
 INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
 INFO - Creating TransactionManager(id=Default Transaction Manager)
 INFO - Creating SecurityService(id=Default Security Service)
 INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
 INFO - Creating ServerService(id=cxf-rs)
+SEVERE - MBean Object org.apache.cxf.bus.extension.ExtensionManagerBus@85333fc register to MBeanServer failed : javax.management.InstanceAlreadyExistsException: org.apache.cxf:bus.id=openejb.cxf.bus,type=Bus,instance.id=139670524
+INFO - Creating ServerService(id=httpejbd)
+INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFO - Using 'print=true'
+FINE - Using default '.xml=false'
+FINE - Using default 'stream.count=false'
 INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
 INFO -   ** Bound Services **
 INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
+INFO -   httpejbd             127.0.0.1       33015 
 INFO - -------
 INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+INFO - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
 INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
 INFO - Creating Container(id=Default Managed Container)
 INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
+INFO - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFO - Creating dedicated application classloader for GreetingServiceTest
+INFO - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@1b048504
+INFO - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
 INFO - OpenWebBeans Container is starting...
 INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 95 ms.
+INFO - Using readers:
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@68b824ec
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@55233ec4
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@628c68e0
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@db9db667
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@3ae6d4db
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@8a500f50
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@d662719e
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@f142ede7
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@6c372f1e
+INFO - Using writers:
+INFO -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@38e7693a
+INFO -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@8d587dd5
+INFO -      org.apache.cxf.jaxrs.provider.StringTextProvider@d662719e
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@3ae6d4db
+INFO -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@68b824ec
+INFO -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@55233ec4
+INFO -      org.apache.cxf.jaxrs.provider.MultipartProvider@628c68e0
+INFO -      org.apache.cxf.jaxrs.provider.SourceProvider@db9db667
+INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@8a500f50
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@52f938e6
+INFO -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@75f6fb76
+INFO -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@f142ede7
+INFO -      org.apache.cxf.jaxrs.provider.DataSourceProvider@6c372f1e
+INFO - Using exception mappers:
+INFO -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@c67a80b8
+INFO -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@6ba782bb
+INFO -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@20db75dc
+INFO - REST Application: http://127.0.0.1:33015/test/         -> org.apache.openejb.server.rest.InternalApplication@cf272dee
+INFO -      Service URI: http://127.0.0.1:33015/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFO -               GET http://127.0.0.1:33015/test/greeting ->      Greet message()         
+INFO -              POST http://127.0.0.1:33015/test/greeting ->      Greet lowerCase(Request)
+INFO - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
 FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
+POST http://localhost:33015/test/greeting/
+Accept=[application/json]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.7]
+Connection=[keep-alive]
+Host=[localhost:33015]
+Pragma=[no-cache]
+Content-Length=[20]
+Content-Type=[application/json]
 
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
+{"value":"Hi REST!"}
 **********************************************
 
 FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:01 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=50cf1d2b-a940-4afb-8993-fff7f9cc6d83; Path=/
-Content-Type: application/json
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
 Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
+Content-Length: 22
+Date: Sun, 15 Nov 2020 20:48:51 GMT
+Content-Type: application/json
 
-{"response":{"value":"hi rest!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
+{"message":"hi rest!"}
+INFO - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
 INFO - Stopping network services
 INFO - Stopping server services
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.706 sec
+
+Results :
+
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
+
 ----
diff --git a/examples/rest-cdi/README_pt.adoc b/examples/rest-cdi/README_pt.adoc
new file mode 100644
index 0000000..fb5229b
--- /dev/null
+++ b/examples/rest-cdi/README_pt.adoc
@@ -0,0 +1,555 @@
+:index-group: REST
+:jbake-type: page
+:jbake-status: status=published
+= REST simples com CDI
+
+Definir um serviço REST é bastante fácil, basta adicionar a anotação `@Path` a uma
+classe define então nos métodos o método HTTP a ser usado (`@GET`, `@POST`,…).
+
+== Serviço REST: @Path, @Produces, @Consumes
+
+Aqui nós temos um REST simples, anotamos a classe com `@Path("/greeting")` para indicar a rota correspondente a classe `GreetingService`. Definimos `message()` como `@GET` e `lowerCase()` como `@POST` para esta rota `/greeting` e fazemos a injeçao da classe `Greeting` usando a anotação `@Inject`. Pronto, temos um serviço! Simples não?
+
+Atual linhas:
+
+[source,java]
+----
+@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+----
+
+são opcionais, pois é a configuração padrão. E essas linhas podem
+também seja configurado pelo método se você precisar ser mais preciso.
+
+[source,java]
+----
+@Path("/greeting")
+@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
+public class GreetingService {
+
+    @Inject
+    Greeting greeting;
+
+    @GET
+    public Greet message() {
+        return new Greet("Hi REST!");
+    }
+
+    @POST
+    public Greet lowerCase(final Request message) {
+        return new Greet(greeting.doSomething(message.getValue()));
+    }
+
+    @XmlRootElement // for xml only, useless for json (johnzon is the default)
+    public static class Greet {
+        private String message;
+
+        public Greet(final String message) {
+            this.message = message;
+        }
+
+        public Greet() {
+            this(null);
+        }
+
+        public String getMessage() {
+            return message;
+        }
+
+        public void setMessage(final String message) {
+            this.message = message;
+        }
+    }
+}
+----
+
+
+=== Teste para o serviço JAXRS
+
+Usamos o OpenEJB ApplicationComposer para facilitar o teste.
+
+A ideia é primeiro ativar os serviços jaxrs. Isto é feito usando a anotação `@EnableServices`.
+
+Então nós criamos a aplicação simplesmente retornando um objeto representando o web.xml. Aqui nós simplesmente o usamos para definir o contexto raiz mas você também pode usar para definir sua aplicação REST também. E para completar a aplicação nós adicionamos a anotação `@Classes` para definir o conjunto de classes a ser utilizado nesse app.
+
+Finalmente para testar nós usamos o client API do cfx para chamar o serviço REST nos métodos get() e post().
+
+NOTE: para mostrar que usamos JSON ou XML, dependendo do método de teste
+ativado em EnableServices o atributo httpDebug que imprime o
+mensagens http nos logs.
+
+[source,java]
+----
+package org.superbiz.rest;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.johnzon.jaxrs.JohnzonProvider;
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Classes;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.EnableServices;
+import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ws.rs.core.MediaType;
+import java.io.IOException;
+import java.util.Properties;
+
+import static java.util.Arrays.asList;
+import static org.junit.Assert.assertEquals;
+
+@EnableServices(value = "jaxrs", httpDebug = true)
+@RunWith(ApplicationComposer.class)
+public class GreetingServiceTest {
+    private int port;
+
+    @Configuration
+    public Properties randomPort() {
+        port = NetworkUtil.getNextAvailablePort();
+        return new PropertiesBuilder().p("httpejbd.port", Integer.toString(port)).build();
+    }
+
+    @Module
+    @Classes(value = {GreetingService.class, Greeting.class}, cdi = true) // This enables the CDI magic
+    public WebApp app() {
+        return new WebApp().contextRoot("test");
+    }
+
+    @Test
+    public void getXml() throws IOException {
+        final String message = WebClient.create("http://localhost:" + port).path("/test/greeting/")
+                .accept(MediaType.APPLICATION_XML_TYPE)
+                .get(GreetingService.Greet.class).getMessage();
+        assertEquals("Hi REST!", message);
+    }
+
+    @Test
+    public void postXml() throws IOException {
+        final String message = WebClient.create("http://localhost:" + port).path("/test/greeting/")
+                .accept(MediaType.APPLICATION_XML_TYPE)
+                .type(MediaType.APPLICATION_XML_TYPE)
+                .post(new Request("Hi REST!"), GreetingService.Greet.class).getMessage();
+        assertEquals("hi rest!", message);
+    }
+
+    @Test
+    public void getJson() throws IOException {
+        final String message = WebClient.create("http://localhost:" + port, asList(new JohnzonProvider<GreetingService.Greet>())).path("/test/greeting/")
+                .accept(MediaType.APPLICATION_JSON_TYPE)
+                .get(GreetingService.Greet.class).getMessage();
+        assertEquals("Hi REST!", message);
+    }
+
+    @Test
+    public void postJson() throws IOException {
+        final String message = WebClient.create("http://localhost:" + port, asList(new JohnzonProvider<GreetingService.Greet>())).path("/test/greeting/")
+                .accept(MediaType.APPLICATION_JSON_TYPE)
+                .type(MediaType.APPLICATION_JSON_TYPE)
+                .post(new Request("Hi REST!"), GreetingService.Greet.class).getMessage();
+        assertEquals("hi rest!", message);
+    }
+}
+----
+
+== Executando
+
+A execução do exemplo é bastante simples. No diretório `rest-cdi`, execute:
+
+[source,java]
+----
+$ mvn clean install
+----
+
+O que deve criar uma saída como a seguir.
+
+[source,java]
+----
+-------------------------------------------------------
+ T E S T S
+-------------------------------------------------------
+Running org.superbiz.rest.GreetingServiceTest
+INFORMAÇÕES - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Succeeded in installing singleton service
+INFORMAÇÕES - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFORMAÇÕES - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFORMAÇÕES - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFORMAÇÕES - Creating TransactionManager(id=Default Transaction Manager)
+INFORMAÇÕES - Creating SecurityService(id=Default Security Service)
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES - Creating ServerService(id=cxf-rs)
+INFORMAÇÕES - Creating ServerService(id=httpejbd)
+INFORMAÇÕES - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFORMAÇÕES - Using 'print=true'
+DETALHADO - Using default '.xml=false'
+DETALHADO - Using default 'stream.count=false'
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES -   ** Bound Services **
+INFORMAÇÕES -   NAME                 IP              PORT  
+INFORMAÇÕES -   httpejbd             127.0.0.1       34073 
+INFORMAÇÕES - -------
+INFORMAÇÕES - Ready!
+INFORMAÇÕES - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFORMAÇÕES - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
+INFORMAÇÕES - Creating Container(id=Default Managed Container)
+INFORMAÇÕES - Using directory /tmp for stateful session passivation
+INFORMAÇÕES - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFORMAÇÕES - Creating dedicated application classloader for GreetingServiceTest
+INFORMAÇÕES - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFORMAÇÕES - OpenWebBeans Container is starting...
+INFORMAÇÕES - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFORMAÇÕES - All injection points were validated successfully.
+INFORMAÇÕES - OpenWebBeans Container has started, it took 467 ms.
+INFORMAÇÕES - Using readers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@97c248d8
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@6fb414ed
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@507dc827
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@6f8d0e9a
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@58adf11a
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5bcbcc65
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@bfe1ceb1
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@8ef2b2bc
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@2b686cbd
+INFORMAÇÕES - Using writers:
+INFORMAÇÕES -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@1bcbf14b
+INFORMAÇÕES -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@4752d400
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@bfe1ceb1
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@58adf11a
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@97c248d8
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@6fb414ed
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@507dc827
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@6f8d0e9a
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5bcbcc65
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@8ef2b2bc
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@2b686cbd
+INFORMAÇÕES - Using exception mappers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@3ede0832
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@384c8ae0
+INFORMAÇÕES -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@fb5c938e
+INFORMAÇÕES - REST Application: http://127.0.0.1:34073/test/         -> org.apache.openejb.server.rest.InternalApplication@41ef317f
+INFORMAÇÕES -      Service URI: http://127.0.0.1:34073/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFORMAÇÕES -               GET http://127.0.0.1:34073/test/greeting ->      Greet message()         
+INFORMAÇÕES -              POST http://127.0.0.1:34073/test/greeting ->      Greet lowerCase(Request)
+INFORMAÇÕES - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
+DETALHADO - ******************* REQUEST ******************
+GET http://localhost:34073/test/greeting/
+Accept=[application/xml]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.6]
+Connection=[keep-alive]
+Host=[localhost:34073]
+Pragma=[no-cache]
+
+
+**********************************************
+
+DETALHADO - HTTP/1.1 200 OK
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
+Connection: close
+Content-Length: 97
+Date: Sat, 01 Aug 2020 22:56:06 GMT
+Content-Type: application/xml
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><greet><message>Hi REST!</message></greet>
+INFORMAÇÕES - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Stopping network services
+INFORMAÇÕES - Stopping server services
+INFORMAÇÕES - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Succeeded in installing singleton service
+INFORMAÇÕES - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFORMAÇÕES - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFORMAÇÕES - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFORMAÇÕES - Creating TransactionManager(id=Default Transaction Manager)
+INFORMAÇÕES - Creating SecurityService(id=Default Security Service)
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES - Creating ServerService(id=cxf-rs)
+INFORMAÇÕES - Creating ServerService(id=httpejbd)
+INFORMAÇÕES - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFORMAÇÕES - Using 'print=true'
+DETALHADO - Using default '.xml=false'
+DETALHADO - Using default 'stream.count=false'
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES -   ** Bound Services **
+INFORMAÇÕES -   NAME                 IP              PORT  
+INFORMAÇÕES -   httpejbd             127.0.0.1       43963 
+INFORMAÇÕES - -------
+INFORMAÇÕES - Ready!
+INFORMAÇÕES - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFORMAÇÕES - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
+INFORMAÇÕES - Creating Container(id=Default Managed Container)
+INFORMAÇÕES - Using directory /tmp for stateful session passivation
+INFORMAÇÕES - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFORMAÇÕES - Creating dedicated application classloader for GreetingServiceTest
+INFORMAÇÕES - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFORMAÇÕES - OpenWebBeans Container is starting...
+INFORMAÇÕES - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFORMAÇÕES - All injection points were validated successfully.
+INFORMAÇÕES - OpenWebBeans Container has started, it took 91 ms.
+INFORMAÇÕES - Using readers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@6133824
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@e9e70387
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@5f76058f
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@20ea2c24
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@b4f12840
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5aa0cf6f
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@4259015f
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@40966367
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@6222567f
+INFORMAÇÕES - Using writers:
+INFORMAÇÕES -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@3a13a4fb
+INFORMAÇÕES -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@4c42f2bd
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@4259015f
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@b4f12840
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@6133824
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@e9e70387
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@5f76058f
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@20ea2c24
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@5aa0cf6f
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@40966367
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@6222567f
+INFORMAÇÕES - Using exception mappers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@573fcce9
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@b1374405
+INFORMAÇÕES -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@59fe23e0
+INFORMAÇÕES - REST Application: http://127.0.0.1:43963/test/         -> org.apache.openejb.server.rest.InternalApplication@d53e82f6
+INFORMAÇÕES -      Service URI: http://127.0.0.1:43963/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFORMAÇÕES -               GET http://127.0.0.1:43963/test/greeting ->      Greet message()         
+INFORMAÇÕES -              POST http://127.0.0.1:43963/test/greeting ->      Greet lowerCase(Request)
+INFORMAÇÕES - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
+DETALHADO - ******************* REQUEST ******************
+POST http://localhost:43963/test/greeting/
+Accept=[application/xml]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.6]
+Connection=[keep-alive]
+Host=[localhost:43963]
+Pragma=[no-cache]
+Content-Length=[97]
+Content-Type=[application/xml]
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
+**********************************************
+
+DETALHADO - HTTP/1.1 200 OK
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
+Connection: close
+Content-Length: 97
+Date: Sat, 01 Aug 2020 22:56:07 GMT
+Content-Type: application/xml
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><greet><message>hi rest!</message></greet>
+INFORMAÇÕES - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Stopping network services
+INFORMAÇÕES - Stopping server services
+INFORMAÇÕES - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Succeeded in installing singleton service
+INFORMAÇÕES - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFORMAÇÕES - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFORMAÇÕES - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFORMAÇÕES - Creating TransactionManager(id=Default Transaction Manager)
+INFORMAÇÕES - Creating SecurityService(id=Default Security Service)
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES - Creating ServerService(id=cxf-rs)
+GRAVE - MBean Object org.apache.cxf.bus.extension.ExtensionManagerBus@3197c5e9 register to MBeanServer failed : javax.management.InstanceAlreadyExistsException: org.apache.cxf:bus.id=openejb.cxf.bus,type=Bus,instance.id=832030185
+INFORMAÇÕES - Creating ServerService(id=httpejbd)
+INFORMAÇÕES - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFORMAÇÕES - Using 'print=true'
+DETALHADO - Using default '.xml=false'
+DETALHADO - Using default 'stream.count=false'
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES -   ** Bound Services **
+INFORMAÇÕES -   NAME                 IP              PORT  
+INFORMAÇÕES -   httpejbd             127.0.0.1       45805 
+INFORMAÇÕES - -------
+INFORMAÇÕES - Ready!
+INFORMAÇÕES - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFORMAÇÕES - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
+INFORMAÇÕES - Creating Container(id=Default Managed Container)
+INFORMAÇÕES - Using directory /tmp for stateful session passivation
+INFORMAÇÕES - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFORMAÇÕES - Creating dedicated application classloader for GreetingServiceTest
+INFORMAÇÕES - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFORMAÇÕES - OpenWebBeans Container is starting...
+INFORMAÇÕES - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFORMAÇÕES - All injection points were validated successfully.
+INFORMAÇÕES - OpenWebBeans Container has started, it took 79 ms.
+INFORMAÇÕES - Using readers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@8cb7376d
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@9499976b
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@1058a47e
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@3cd3203
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@1116af37
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@d3c0684e
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@8a06ad8d
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@5ab112cb
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@cd500c53
+INFORMAÇÕES - Using writers:
+INFORMAÇÕES -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@1606be91
+INFORMAÇÕES -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@6b980ff2
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@8a06ad8d
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@1116af37
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@8cb7376d
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@9499976b
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@1058a47e
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@3cd3203
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@d3c0684e
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@5ab112cb
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@cd500c53
+INFORMAÇÕES - Using exception mappers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@c0bb1fa5
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@395031ad
+INFORMAÇÕES -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@67a5a4bb
+INFORMAÇÕES - REST Application: http://127.0.0.1:45805/test/         -> org.apache.openejb.server.rest.InternalApplication@f39d9d50
+INFORMAÇÕES -      Service URI: http://127.0.0.1:45805/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFORMAÇÕES -               GET http://127.0.0.1:45805/test/greeting ->      Greet message()         
+INFORMAÇÕES -              POST http://127.0.0.1:45805/test/greeting ->      Greet lowerCase(Request)
+INFORMAÇÕES - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
+DETALHADO - ******************* REQUEST ******************
+GET http://localhost:45805/test/greeting/
+Accept=[application/json]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.6]
+Connection=[keep-alive]
+Host=[localhost:45805]
+Pragma=[no-cache]
+
+
+**********************************************
+
+DETALHADO - HTTP/1.1 200 OK
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
+Connection: close
+Content-Length: 22
+Date: Sat, 01 Aug 2020 22:56:07 GMT
+Content-Type: application/json
+
+{"message":"Hi REST!"}
+INFORMAÇÕES - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Stopping network services
+INFORMAÇÕES - Stopping server services
+INFORMAÇÕES - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Succeeded in installing singleton service
+INFORMAÇÕES - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
+INFORMAÇÕES - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+INFORMAÇÕES - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+INFORMAÇÕES - Creating TransactionManager(id=Default Transaction Manager)
+INFORMAÇÕES - Creating SecurityService(id=Default Security Service)
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES - Creating ServerService(id=cxf-rs)
+GRAVE - MBean Object org.apache.cxf.bus.extension.ExtensionManagerBus@3197c5e9 register to MBeanServer failed : javax.management.InstanceAlreadyExistsException: org.apache.cxf:bus.id=openejb.cxf.bus,type=Bus,instance.id=832030185
+INFORMAÇÕES - Creating ServerService(id=httpejbd)
+INFORMAÇÕES - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
+INFORMAÇÕES - Using 'print=true'
+DETALHADO - Using default '.xml=false'
+DETALHADO - Using default 'stream.count=false'
+INFORMAÇÕES - Initializing network services
+INFORMAÇÕES -   ** Bound Services **
+INFORMAÇÕES -   NAME                 IP              PORT  
+INFORMAÇÕES -   httpejbd             127.0.0.1       33139 
+INFORMAÇÕES - -------
+INFORMAÇÕES - Ready!
+INFORMAÇÕES - Configuring enterprise application: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+INFORMAÇÕES - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
+INFORMAÇÕES - Creating Container(id=Default Managed Container)
+INFORMAÇÕES - Using directory /tmp for stateful session passivation
+INFORMAÇÕES - Enterprise application "/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest" loaded.
+INFORMAÇÕES - Creating dedicated application classloader for GreetingServiceTest
+INFORMAÇÕES - Assembling app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@f52a8185
+INFORMAÇÕES - Some Principal APIs could not be loaded: org.eclipse.microprofile.jwt.JsonWebToken out of org.eclipse.microprofile.jwt.JsonWebToken not found
+INFORMAÇÕES - OpenWebBeans Container is starting...
+INFORMAÇÕES - Adding OpenWebBeansPlugin : [CdiPlugin]
+INFORMAÇÕES - All injection points were validated successfully.
+INFORMAÇÕES - OpenWebBeans Container has started, it took 78 ms.
+INFORMAÇÕES - Using readers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@e138884c
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@47d59cc8
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@8b1ed8f2
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@63562d8b
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@ee828039
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@6a973a94
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@68e11edb
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@4eeaa949
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@c1300ce1
+INFORMAÇÕES - Using writers:
+INFORMAÇÕES -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@98de0e5d
+INFORMAÇÕES -      org.apache.cxf.jaxrs.nio.NioMessageBodyWriter@ae6701a9
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.StringTextProvider@68e11edb
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementTypedProvider@ee828039
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.PrimitiveTextProvider@e138884c
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.FormEncodingProvider@47d59cc8
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.MultipartProvider@8b1ed8f2
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.SourceProvider@63562d8b
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@6a973a94
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonbProvider@ca404f1a
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.johnzon.TomEEJsonpProvider@c493f575
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.BinaryDataProvider@4eeaa949
+INFORMAÇÕES -      org.apache.cxf.jaxrs.provider.DataSourceProvider@c1300ce1
+INFORMAÇÕES - Using exception mappers:
+INFORMAÇÕES -      org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper@b7aa4d1f
+INFORMAÇÕES -      org.apache.openejb.server.cxf.rs.EJBExceptionMapper@36e433da
+INFORMAÇÕES -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@b2d74161
+INFORMAÇÕES - REST Application: http://127.0.0.1:33139/test/         -> org.apache.openejb.server.rest.InternalApplication@28f17c3f
+INFORMAÇÕES -      Service URI: http://127.0.0.1:33139/test/greeting -> Pojo org.superbiz.rest.GreetingService
+INFORMAÇÕES -               GET http://127.0.0.1:33139/test/greeting ->      Greet message()         
+INFORMAÇÕES -              POST http://127.0.0.1:33139/test/greeting ->      Greet lowerCase(Request)
+INFORMAÇÕES - Deployed Application(path=/home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest)
+DETALHADO - ******************* REQUEST ******************
+POST http://localhost:33139/test/greeting/
+Accept=[application/json]
+Cache-Control=[no-cache]
+User-Agent=[Apache-CXF/3.3.6]
+Connection=[keep-alive]
+Host=[localhost:33139]
+Pragma=[no-cache]
+Content-Length=[20]
+Content-Type=[application/json]
+
+{"value":"Hi REST!"}
+**********************************************
+
+DETALHADO - HTTP/1.1 200 OK
+Server: OpenEJB/8.0.5-SNAPSHOT Linux/5.0.0-23-generic (amd64)
+Connection: close
+Content-Length: 22
+Date: Sat, 01 Aug 2020 22:56:08 GMT
+Content-Type: application/json
+
+{"message":"hi rest!"}
+INFORMAÇÕES - Undeploying app: /home/daniel/git/apache/tomee/examples/rest-cdi/GreetingServiceTest
+INFORMAÇÕES - Stopping network services
+INFORMAÇÕES - Stopping server services
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.995 sec
+
+Results :
+
+Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
+----
diff --git a/examples/rest-cdi/pom.xml b/examples/rest-cdi/pom.xml
index 1b724a4..36a5f87 100644
--- a/examples/rest-cdi/pom.xml
+++ b/examples/rest-cdi/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>rest-cdi</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: REST CDI</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/rest-example-with-application/pom.xml b/examples/rest-example-with-application/pom.xml
index bf1487d..b42c865 100644
--- a/examples/rest-example-with-application/pom.xml
+++ b/examples/rest-example-with-application/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>rest-example-with-application</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: REST Example With Application</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
diff --git a/examples/rest-example/pom.xml b/examples/rest-example/pom.xml
index fc980f4..1c448fb 100644
--- a/examples/rest-example/pom.xml
+++ b/examples/rest-example/pom.xml
@@ -21,11 +21,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>rest-example</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: REST Example</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <version.openjpa>3.0.0</version.openjpa>
   </properties>
   <repositories>
diff --git a/examples/rest-jaas/pom.xml b/examples/rest-jaas/pom.xml
index c196da7..6f2490a 100644
--- a/examples/rest-jaas/pom.xml
+++ b/examples/rest-jaas/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>rest-jaas</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: JAXRS and JAAS</name>
   <dependencies>
@@ -46,7 +46,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <systemVariables>
             <java.security.auth.login.config>${project.build.directory}/apache-tomee/conf/login.config</java.security.auth.login.config>
diff --git a/examples/rest-on-ejb/pom.xml b/examples/rest-on-ejb/pom.xml
index 43adf1c..77e50d4 100644
--- a/examples/rest-on-ejb/pom.xml
+++ b/examples/rest-on-ejb/pom.xml
@@ -22,11 +22,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>rest-on-ejb</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: REST and EJB</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/rest-sse-example/pom.xml b/examples/rest-sse-example/pom.xml
new file mode 100644
index 0000000..e61abb7
--- /dev/null
+++ b/examples/rest-sse-example/pom.xml
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.superbiz</groupId>
+  <artifactId>rest-sse-example</artifactId>
+  <packaging>war</packaging>
+  <version>8.0.7-SNAPSHOT</version>
+  <name>TomEE :: Web Examples :: REST SSE Example</name>
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
+    <version.openjpa>3.0.0</version.openjpa>
+  </properties>
+  <repositories>
+    <repository>
+      <id>apache-m2-snapshot</id>
+      <name>Apache Snapshot Repository</name>
+      <url>https://repository.apache.org/content/groups/snapshots</url>
+    </repository>
+  </repositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>apache-m2-snapshot</id>
+      <name>Apache Snapshot Repository</name>
+      <url>https://repository.apache.org/content/groups/snapshots</url>
+    </pluginRepository>
+  </pluginRepositories>
+  <build>
+    <finalName>${project.artifactId}</finalName>
+    <defaultGoal>package</defaultGoal>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.5.1</version>
+        <configuration>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.1.0</version>
+        <configuration>
+          <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.22.1</version>
+        <configuration>
+          <argLine>-Djdk.attach.allowAttachSelf</argLine>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.tomee.maven</groupId>
+        <artifactId>tomee-maven-plugin</artifactId>
+        <version>${tomee.version}</version>
+        <configuration>
+          <simpleLog>true</simpleLog>
+          <tomeeVersion>${tomee.version}</tomeeVersion>
+          <tomeeClassifier>plus</tomeeClassifier>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.tomitribe.transformer</groupId>
+        <artifactId>org.eclipse.transformer.maven</artifactId>
+        <version>0.1.1a</version>
+        <configuration>
+          <classifier>jakartaee9</classifier>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>run</goal>
+            </goals>
+            <phase>package</phase>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>javaee-api</artifactId>
+      <version>[8.0,)</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.12</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <!--
+  This section allows you to configure where to publish libraries for sharing.
+  It is not required and may be deleted.  For more information see:
+  http://maven.apache.org/plugins/maven-deploy-plugin/
+  -->
+  <distributionManagement>
+    <repository>
+      <id>local-release-repo</id>
+      <url>file://${project.build.outputDirectory}/repo/</url>
+    </repository>
+    <snapshotRepository>
+      <id>local-snapshot-repo</id>
+      <url>file://${project.build.outputDirectory}/repo/</url>
+    </snapshotRepository>
+  </distributionManagement>
+</project>
diff --git a/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/JmsResource.java b/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/JmsResource.java
new file mode 100644
index 0000000..2ed06bd
--- /dev/null
+++ b/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/JmsResource.java
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+package org.superbiz.rest.service;
+
+import javax.enterprise.event.Observes;
+import javax.inject.Singleton;
+import javax.jms.Message;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.sse.OutboundSseEvent;
+import javax.ws.rs.sse.Sse;
+import javax.ws.rs.sse.SseBroadcaster;
+import javax.ws.rs.sse.SseEventSink;
+
+@Path("jms")
+@Singleton
+public class JmsResource {
+
+    private SseBroadcaster broadcaster;
+    private OutboundSseEvent.Builder builder;
+
+    @GET
+    @Produces(MediaType.SERVER_SENT_EVENTS)
+    public void stats(final @Context SseEventSink sink) {
+        broadcaster.register(sink);
+    }
+
+    @Context
+    public void setSse(final Sse sse) {
+        this.broadcaster = sse.newBroadcaster();
+        this.builder = sse.newEventBuilder();
+    }
+
+    public void onMessage(final @Observes Message message) {
+        if (broadcaster == null) {
+            return;
+        }
+
+        broadcaster.broadcast(builder.data(Message.class, message).mediaType(MediaType.APPLICATION_JSON_TYPE).build());
+    }
+}
diff --git a/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/TopicListener.java b/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/TopicListener.java
new file mode 100644
index 0000000..dbb6d01
--- /dev/null
+++ b/examples/rest-sse-example/src/main/java/org/superbiz/rest/service/TopicListener.java
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+package org.superbiz.rest.service;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.enterprise.event.Event;
+import javax.inject.Inject;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+
+@MessageDriven(activationConfig = {
+        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
+        @ActivationConfigProperty(propertyName = "destination", propertyValue = "EVENT"),
+})
+public class TopicListener implements MessageListener {
+
+    @Inject
+    private Event<Message> messageReceivedEvent;
+
+    @Override
+    public void onMessage(final Message message) {
+        messageReceivedEvent.fire(message);
+    }
+}
diff --git a/examples/rest-sse-example/src/main/resources/META-INF/beans.xml b/examples/rest-sse-example/src/main/resources/META-INF/beans.xml
new file mode 100644
index 0000000..9b0b74f
--- /dev/null
+++ b/examples/rest-sse-example/src/main/resources/META-INF/beans.xml
@@ -0,0 +1,18 @@
+<!--
+
+    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.
+-->
+<beans/>
diff --git a/examples/rest-sse-example/src/main/resources/META-INF/resources.xml b/examples/rest-sse-example/src/main/resources/META-INF/resources.xml
new file mode 100644
index 0000000..c98e634
--- /dev/null
+++ b/examples/rest-sse-example/src/main/resources/META-INF/resources.xml
@@ -0,0 +1,31 @@
+<!--
+
+    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.
+-->
+<resources>
+  <Resource id="MyJmsResourceAdapter" type="ActiveMQResourceAdapter">
+    BrokerXmlConfig =  broker:(tcp://127.0.0.01:61616)
+    ServerUrl       =  tcp://localhost:61616
+  </Resource>
+
+  <Resource id="MyJmsConnectionFactory" type="javax.jms.ConnectionFactory">
+    ResourceAdapter = MyJmsResourceAdapter
+  </Resource>
+
+  <Container id="MyJmsMdbContainer" ctype="MESSAGE">
+    ResourceAdapter = MyJmsResourceAdapter
+  </Container>
+</resources>
diff --git a/examples/rest-sse-example/src/main/webapp/WEB-INF/beans.xml b/examples/rest-sse-example/src/main/webapp/WEB-INF/beans.xml
new file mode 100644
index 0000000..bbc3399
--- /dev/null
+++ b/examples/rest-sse-example/src/main/webapp/WEB-INF/beans.xml
@@ -0,0 +1,17 @@
+<!--
+     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.
+  -->
+<beans/>
diff --git a/examples/rest-sse-example/src/main/webapp/WEB-INF/web.xml b/examples/rest-sse-example/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..17930cf
--- /dev/null
+++ b/examples/rest-sse-example/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+     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.
+  -->
+<web-app xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         metadata-complete="false"
+         version="2.5">
+
+  <display-name>SSE Example</display-name>
+</web-app>
diff --git a/examples/rest-sse-example/src/main/webapp/index.html b/examples/rest-sse-example/src/main/webapp/index.html
new file mode 100644
index 0000000..36d425b
--- /dev/null
+++ b/examples/rest-sse-example/src/main/webapp/index.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<!--
+     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.
+  -->
+
+<html>
+  <head>
+      <title>Fun with SSE and JMS</title>
+  </head>
+
+  <body>
+  <p>This example demonstrates how to send Server Side Events, and how to receive them, both using a JAX-RS client,
+  and also in Javascript in your web-browser.</p>
+  <p>You should be able to send messages to an ActiveMQ topic called 'EVENT' using the OpenWire port tcp/61616 on this machine.
+  Any messages sent to this topic will appear below.</p>
+
+  <div id="messages">
+
+  </div>
+
+  <script type="text/javascript">
+    var es = new EventSource('jms');
+    var messages = document.getElementById('messages');
+
+    es.onmessage = function(e) {
+      var newElement = document.createElement("p");
+
+      newElement.textContent = e.data;
+      messages.appendChild(newElement);
+    }
+  </script>
+  </body>
+</html>
+
diff --git a/examples/rest-xml-json/pom.xml b/examples/rest-xml-json/pom.xml
index 57efbc8..139961b 100644
--- a/examples/rest-xml-json/pom.xml
+++ b/examples/rest-xml-json/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>rest-xml-json</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: REST XML JSON</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/scala-basic/pom.xml b/examples/scala-basic/pom.xml
index 476e5ae..df5745b 100644
--- a/examples/scala-basic/pom.xml
+++ b/examples/scala-basic/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>scala-basic</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Basic Scala</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -148,7 +148,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/schedule-events/README_pt.adoc b/examples/schedule-events/README_pt.adoc
new file mode 100644
index 0000000..48fbd02
--- /dev/null
+++ b/examples/schedule-events/README_pt.adoc
@@ -0,0 +1,173 @@
+= Agendamento de Eventos CDI
+:index-group: CDI
+:jbake-type: page
+:jbake-status: published
+
+Este exemplo utiliza uma boa combinação CDI/EJB para agendar Eventos CDI. Isto é util se você quiser Eventos CDI para disparar regularmente ou em um horário específico ou data do calendário.
+
+Efetivamente este é um simples empacotador em volta do método `+BeanManager.fireEvent(Object,Annotations...)+` que adiciona `ScheduleExpression` na mistura. 
+
+== @Timeout e ScheduleExpression
+
+A lógica aqui é simples, nós efetivamente expômos um método identico para `+BeanManager.fireEvent(Object, Annotations...)+` e empacotamos isso como `+scheduleEvent(ScheduleExpression, Object, Annotation...)+`  
+
+Para fazer isso nós usamos o `TimerService` EJB (embaixo dessa cobertura isso é Quartz) e criamos um método `@Timeout` que vai ser executado quando ativada a `ScheduleExpression`.
+
+O método `@Timeout`, simplesmente chamado `timeout`, pega o evento e dispara ele.
+
+[source,java]
+----
+@Singleton
+@Lock(LockType.READ)
+public class Scheduler {
+
+    @Resource
+    private TimerService timerService;
+
+    @Resource
+    private BeanManager beanManager;
+
+    public void scheduleEvent(ScheduleExpression schedule, Object event, Annotation... qualifiers) {
+
+        timerService.createCalendarTimer(schedule, new TimerConfig(new EventConfig(event, qualifiers), false));
+    }
+
+    @Timeout
+    private void timeout(Timer timer) {
+        final EventConfig config = (EventConfig) timer.getInfo();
+
+        beanManager.fireEvent(config.getEvent(), config.getQualifiers());
+    }
+
+    //Na verdade não precisa ser serializável, só tem que implementá-lo
+    private final class EventConfig implements Serializable {
+
+        private final Object event;
+        private final Annotation[] qualifiers;
+
+        private EventConfig(Object event, Annotation[] qualifiers) {
+            this.event = event;
+            this.qualifiers = qualifiers;
+        }
+
+        public Object getEvent() {
+            return event;
+        }
+
+        public Annotation[] getQualifiers() {
+            return qualifiers;
+        }
+    }
+}
+----
+
+Então para usar isto, temos de injetar `Scheduler` como um EJB e aproveitar.
+
+[source,java]
+----
+public class SomeBean {
+
+    @EJB
+    private Scheduler scheduler;
+
+    public void doit() throws Exception {
+
+        // a cada cinco minutos
+        final ScheduleExpression schedule = new ScheduleExpression()
+                .hour("*")
+                .minute("*")
+                .second("*/5");
+
+        scheduler.scheduleEvent(schedule, new TestEvent("five"));
+    }
+
+    /**
+     * Evento será disparado a cada cinco minutos
+     */
+    public void observe(@Observes TestEvent event) {
+        // process the event
+    }
+
+}
+----
+
+== Caso de Teste
+
+Um caso de teste de trabalho para o acima seria como segue:
+
+[source,java]
+----
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import javax.ejb.AccessTimeout;
+import javax.ejb.EJB;
+import javax.ejb.ScheduleExpression;
+import javax.ejb.embeddable.EJBContainer;
+import javax.enterprise.event.Observes;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @version $Revision$ $Date$
+ */
+public class SchedulerTest {
+
+    public static final CountDownLatch events = new CountDownLatch(3);
+
+    @EJB
+    private Scheduler scheduler;
+
+    @Test
+    public void test() throws Exception {
+
+        final ScheduleExpression schedule = new ScheduleExpression()
+                .hour("*")
+                .minute("*")
+                .second("*/5");
+
+        scheduler.scheduleEvent(schedule, new TestEvent("five"));
+
+        Assert.assertTrue(events.await(1, TimeUnit.MINUTES));
+    }
+
+
+    @AccessTimeout(value = 1, unit = TimeUnit.MINUTES)
+    public void observe(@Observes TestEvent event) {
+        if ("five".equals(event.getMessage())) {
+            events.countDown();
+        }
+    }
+
+    public static class TestEvent {
+        private final String message;
+
+        public TestEvent(String message) {
+            this.message = message;
+        }
+
+        public String getMessage() {
+            return message;
+        }
+    }
+
+    @Before
+    public void setup() throws Exception {
+        EJBContainer.createEJBContainer().getContext().bind("inject", this);
+    }
+}
+----
+
+== Você deve conhecer
+
+* Eventos CDI não são mutli-tarefas 
+
+Se houver 0 observadores e cada um deles levar 7 minutos para executar, então o tempo total de execução para um evento são 70 minutos. Ele iria fazer você absolutamente, não gostar de agendar este evento, para disparar frequentemente com mais que 70 minutos.    
+
+O que aconteceria se você fizesse ? Depende da política `@Singleton` `@Lock`
+
+* `@Lock(WRITE)` é o padrão. Neste modo o método `timeout` seria essencialemnte bloqueado até que a invocação anterior se complete. Tendo ele disparado a cada 5 minutos, mesmo que você só possa processar um a cada 70 minutos, eventualmente faria com que todas as tarefas agrupadas de temporizador estivessem esperando em seu Singleton.
+* `@Lock(READ)` pemitir a execução paralela do método `timeout`. Eventos serão disparados em paralelo por um tempo. Contudo, desde que eles estejam levando 70 minutos cada, dentro de uma hora mais ou menos, ficaremos sem tarefas agrupadas de temporizador exatamente como acima.
+
+A solução elegante é usar `@Lock(WRITE)` então especifique algum tempo limite curto como `@AccessTimeout(value = 1, unit = TimeUnit.MINUTES)` no método `timeout`. Quando a próxima invocação de 5 minutos for disparada, ela aguardará até 1 minuto para ter acesso ao Singleton antes de desistir.
\ No newline at end of file
diff --git a/examples/schedule-events/pom.xml b/examples/schedule-events/pom.xml
index 54adc0f..d12bbcf 100644
--- a/examples/schedule-events/pom.xml
+++ b/examples/schedule-events/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>schedule-events</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Schedule Events</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/schedule-expression/pom.xml b/examples/schedule-expression/pom.xml
index 3101a58..fde8753 100644
--- a/examples/schedule-expression/pom.xml
+++ b/examples/schedule-expression/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>schedule-expression</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: ScheduleExpression</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/schedule-methods-meta/pom.xml b/examples/schedule-methods-meta/pom.xml
index cd7c823..e73f753 100644
--- a/examples/schedule-methods-meta/pom.xml
+++ b/examples/schedule-methods-meta/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>schedule-methods-meta</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Schedule Methods (Meta)</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/schedule-methods/pom.xml b/examples/schedule-methods/pom.xml
index a37400f..69c31d7 100644
--- a/examples/schedule-methods/pom.xml
+++ b/examples/schedule-methods/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>schedule-methods</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @Schedule Methods</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/server-events/pom.xml b/examples/server-events/pom.xml
index 1eb2e19..08d8085 100644
--- a/examples/server-events/pom.xml
+++ b/examples/server-events/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>server-events</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Server Events</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -77,7 +77,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
     <!-- test libs -->
@@ -90,7 +90,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-openejb-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/serverless-builder/pom.xml b/examples/serverless-builder/pom.xml
index d8c85e9..a3677a8 100644
--- a/examples/serverless-builder/pom.xml
+++ b/examples/serverless-builder/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>serverless-builder</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Serverless Apache TomEE WebProfile</name>
   
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.tomee>8.0.5-SNAPSHOT</version.tomee>
+    <version.tomee>8.0.7-SNAPSHOT</version.tomee>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/serverless-tomee-microprofile/pom.xml b/examples/serverless-tomee-microprofile/pom.xml
index 005fc60..6260a62 100644
--- a/examples/serverless-tomee-microprofile/pom.xml
+++ b/examples/serverless-tomee-microprofile/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>serverless-tomee-microprofile</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Serverless Apache TomEE MicroProfile</name>
   
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.tomee>8.0.5-SNAPSHOT</version.tomee>
+    <version.tomee>8.0.7-SNAPSHOT</version.tomee>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/serverless-tomee-plume/README_pt.adoc b/examples/serverless-tomee-plume/README_pt.adoc
new file mode 100644
index 0000000..dc39790
--- /dev/null
+++ b/examples/serverless-tomee-plume/README_pt.adoc
@@ -0,0 +1,169 @@
+:index-group: Serverless
+:jbake-type: page
+:jbake-status: status=published
+= Serverless TomEE Plume
+
+Apache Tomee pode ser executad como uma biblioteca dentro da sua propria JVM, sem a necessidade de separar processos ou instalar um servidor standalone. Nesta abordagem, incluímos as bibliotecas certas em nosso projeto e então inicializamos o TomEE usando a API `Server.Builder`.
+
+== Incluindo a dependência`tomee-plume`
+
+Para tornar as coisas o mais fáceis possível, há apenas uma dependência que fornecerá um caminho de classe 100% idêntico à sua distribuição favorita do Apache TomEE. A seguinte dependência fornecerá a você um ambiente idêntico a uma distribuição binária Apache TomEE Plume.
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.tomee.bom</groupId>
+  <artifactId>tomee-plume</artifactId>
+  <version>${version.tomee}</version>
+</dependency>
+----
+
+NOTE: O `org.apache.tomee.bom:tomee-plume`  é, na verdade, gerado pela análise do apache-tomee-plume-xyz.zip, portanto, é garantido ser 100% idêntico, facilitando a transição de um arquivo zip para um maven simples dependência.
+
+== Escrevendo um código regular
+
+Aqui a gente ve um simples API JAX-RS para enviar/receber objetos `Movie` como JSON.
+
+[source,java]
+----
+@Path("/movies")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+@RequestScoped
+public class MovieService {
+
+    private Map<Integer, Movie> store = new ConcurrentHashMap<>();
+
+    @PostConstruct
+    public void construct(){
+        this.addMovie(new Movie("Wedding Crashers", "David Dobkin", "Comedy", 1, 2005));
+        this.addMovie(new Movie("Starsky & Hutch", "Todd Phillips", "Action", 2, 2004));
+        this.addMovie(new Movie("Shanghai Knights", "David Dobkin", "Action", 3, 2003));
+        this.addMovie(new Movie("I-Spy", "Betty Thomas", "Adventure", 4, 2002));
+        this.addMovie(new Movie("The Royal Tenenbaums", "Wes Anderson", "Comedy", 5, 2001));
+        this.addMovie(new Movie("Zoolander", "Ben Stiller", "Comedy", 6, 2001));
+    }
+    @GET
+    public List<Movie> getAllMovies() {
+        return new ArrayList<>(store.values());
+    }
+
+    @POST
+    public Movie addMovie(final Movie newMovie) {
+        store.put(newMovie.getId(), newMovie);
+        return newMovie;
+    }
+
+}
+----
+
+== Bootstrap TomEE com o Server Builder
+
+Neste ponto, temos um projeto Maven com as dependências corretas e algum código de aplicação em nosso projeto. 
+A partir daqui, usamos a API `Server.Builder` para construir uma instância do `Server` dentro de nossa JVM.
+
+Aqui, vemos uma classe Main simples que inicializa uma instância do `Server` na porta `8080` e bloqueia:
+
+[source,java]
+----
+import org.apache.tomee.bootstrap.Archive;
+import org.apache.tomee.bootstrap.Server;
+
+import java.util.concurrent.Semaphore;
+
+public class Main {
+    public static void main(String[] args) throws InterruptedException {
+
+        final Server server = Server.builder()
+                .httpPort(8080)
+                .add("webapps/ROOT/WEB-INF/classes", Archive.archive()
+                        .add(Api.class)
+                        .add(Movie.class)
+                        .add(MovieService.class))
+                .build();
+
+        System.out.println("Listening for requests at " + server.getURI());
+        new Semaphore(0).acquire();
+    }
+}
+----
+
+O exemplo abaixo inicializa uma instância do `Server` em portas aleatórias dentro de um caso de teste e sai quando o caso de teste é concluído:
+
+[source,java]
+----
+import org.apache.tomee.bootstrap.Archive;
+import org.apache.tomee.bootstrap.Server;
+//...
+
+public class MovieServiceTest {
+
+    private static URI serverURI;
+
+    @BeforeClass
+    public static void setup() {
+         // Adicione as classes de que você precisa a um Archive
+        // ou adicione-os a um jar por qualquer meio
+        final Archive classes = Archive.archive()
+                .add(Api.class)
+                .add(Movie.class)
+                .add(MovieService.class);
+
+         // Coloque as classes onde você gostaria
+        // eles em uma instalação do Tomcat
+        final Server server = Server.builder()
+                // Isso cria efetivamente um webapp chamado ROOT
+                .add("webapps/ROOT/WEB-INF/classes", classes)
+                .build();
+
+        serverURI = server.getURI();
+    }
+
+    @Test
+    public void getAllMovies() {
+        final WebTarget target = ClientBuilder.newClient().target(serverURI);
+
+        final Movie[] movies = target.path("/api/movies").request().get(Movie[].class);
+
+        assertEquals(6, movies.length);
+
+        final Movie movie = movies[1];
+        assertEquals("Todd Phillips", movie.getDirector());
+        assertEquals("Starsky & Hutch", movie.getTitle());
+        assertEquals("Action", movie.getGenre());
+        assertEquals(2004, movie.getYear());
+        assertEquals(2, movie.getId());
+    }
+}
+----
+
+No código acima, reunimos as classes `Api`,`Movie` e `MovieService` em um arquivo virtual, então adicionamos esse arquivo em uma instalação virtual do Tomcat no local `webapps/ROOT/WEB-INF/classes`. Quando chamamos `build()`, a instância do servidor Tomcat é iniciada em nossa JVM e começará a servir solicitações HTTP no host/porta identificado por `server.getURI()`
+
+Resumindo, inicializamos um servidor Tomcat em nossa JVM que ocupa um espaço de disco muito pequeno; três classes e um punhado de arquivos de configuração padrão.
+
+== Executando
+
+Se executássemos a classe principal ou caso de teste acima, veríamos uma saída como a seguinte:
+
+[source,bash]
+----
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
+INFO:      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@2d313c8c
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO: REST Application: http://localhost:8080/api        -> org.superbiz.movie.Api@6b2dd3df
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:      Service URI: http://localhost:8080/api/movies -> Pojo org.superbiz.movie.MovieService
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:               GET http://localhost:8080/api/movies ->      List<Movie> getAllMovies()
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:              POST http://localhost:8080/api/movies ->      Movie addMovie(Movie)     
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Deployment of web application directory [/private/var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/temp14966428831095231081dir/apache-tomee/webapps/ROOT] has finished in [1,798] ms
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Starting ProtocolHandler ["http-nio-8080"]
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Server startup in [1877] milliseconds
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Full bootstrap in [3545] milliseconds
+Listening for requests at http://localhost:8080
+----
diff --git a/examples/serverless-tomee-plume/pom.xml b/examples/serverless-tomee-plume/pom.xml
index b7fd7f9..ea98c1d 100644
--- a/examples/serverless-tomee-plume/pom.xml
+++ b/examples/serverless-tomee-plume/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>serverless-tomee-plume</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Serverless Apache TomEE Plume</name>
   
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.tomee>8.0.5-SNAPSHOT</version.tomee>
+    <version.tomee>8.0.7-SNAPSHOT</version.tomee>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/serverless-tomee-plus/README_pt.adoc b/examples/serverless-tomee-plus/README_pt.adoc
new file mode 100644
index 0000000..6c37b1d
--- /dev/null
+++ b/examples/serverless-tomee-plus/README_pt.adoc
@@ -0,0 +1,169 @@
+:index-group: Serverless
+:jbake-type: page
+:jbake-status: status=published
+= Serverless TomEE Plus
+
+Apache Tomee pode ser executad como uma biblioteca dentro da sua propria JVM, sem a necessidade de separar processos ou instalar um servidor standalone. Nesta abordagem, incluímos as bibliotecas certas em nosso projeto e então inicializamos o TomEE usando a API `Server.Builder`.
+
+== Incluindo a dependência `tomee-plus`
+
+Para tornar as coisas o mais fáceis possível, há apenas uma dependência que fornecerá um caminho de classe 100% idêntico à sua distribuição favorita do Apache TomEE. A seguinte dependência fornecerá a você um ambiente idêntico a uma distribuição binária Apache TomEE Plus.
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.tomee.bom</groupId>
+  <artifactId>tomee-plus</artifactId>
+  <version>${version.tomee}</version>
+</dependency>
+----
+
+NOTE: O `org.apache.tomee.bom:tomee-plus` é, na verdade, gerado pela análise do apache-tomee-plus-xyz.zip, portanto, é garantido ser 100% idêntico, facilitando a transição de um arquivo zip para um maven simples dependência.
+
+== Escrevendo um código regular
+
+Aqui a gente ve um simples API JAX-RS para enviar/receber objetos `Movie` como JSON.
+
+[source,java]
+----
+@Path("/movies")
+@Produces(MediaType.APPLICATION_JSON)
+@Consumes(MediaType.APPLICATION_JSON)
+@RequestScoped
+public class MovieService {
+
+    private Map<Integer, Movie> store = new ConcurrentHashMap<>();
+
+    @PostConstruct
+    public void construct(){
+        this.addMovie(new Movie("Wedding Crashers", "David Dobkin", "Comedy", 1, 2005));
+        this.addMovie(new Movie("Starsky & Hutch", "Todd Phillips", "Action", 2, 2004));
+        this.addMovie(new Movie("Shanghai Knights", "David Dobkin", "Action", 3, 2003));
+        this.addMovie(new Movie("I-Spy", "Betty Thomas", "Adventure", 4, 2002));
+        this.addMovie(new Movie("The Royal Tenenbaums", "Wes Anderson", "Comedy", 5, 2001));
+        this.addMovie(new Movie("Zoolander", "Ben Stiller", "Comedy", 6, 2001));
+    }
+    @GET
+    public List<Movie> getAllMovies() {
+        return new ArrayList<>(store.values());
+    }
+
+    @POST
+    public Movie addMovie(final Movie newMovie) {
+        store.put(newMovie.getId(), newMovie);
+        return newMovie;
+    }
+
+}
+----
+
+== Bootstrap TomEE com o Server Builder
+
+Neste ponto, temos um projeto Maven com as dependências corretas e algum código de aplicação em nosso projeto. 
+A partir daqui, usamos a API `Server.Builder` para construir uma instância do `Server` dentro de nossa JVM.
+
+Aqui, vemos uma classe Main simples que inicializa uma instância do `Server` na porta `8080` e bloqueia:
+
+[source,java]
+----
+import org.apache.tomee.bootstrap.Archive;
+import org.apache.tomee.bootstrap.Server;
+
+import java.util.concurrent.Semaphore;
+
+public class Main {
+    public static void main(String[] args) throws InterruptedException {
+
+        final Server server = Server.builder()
+                .httpPort(8080)
+                .add("webapps/ROOT/WEB-INF/classes", Archive.archive()
+                        .add(Api.class)
+                        .add(Movie.class)
+                        .add(MovieService.class))
+                .build();
+
+        System.out.println("Listening for requests at " + server.getURI());
+        new Semaphore(0).acquire();
+    }
+}
+----
+
+O exemplo abaixo inicializa uma instância do `Server` em portas aleatórias dentro de um caso de teste e sai quando o caso de teste é concluído:
+
+[source,java]
+----
+import org.apache.tomee.bootstrap.Archive;
+import org.apache.tomee.bootstrap.Server;
+//...
+
+public class MovieServiceTest {
+
+    private static URI serverURI;
+
+    @BeforeClass
+    public static void setup() {
+        // Adicione as classes de que você precisa a um Archive
+        // ou adicione-os a um jar por qualquer meio
+        final Archive classes = Archive.archive()
+                .add(Api.class)
+                .add(Movie.class)
+                .add(MovieService.class);
+
+        // Coloque as classes onde você gostaria
+        // eles em uma instalação do Tomcat
+        final Server server = Server.builder()
+                // Isso cria efetivamente um webapp chamado ROOT
+                .add("webapps/ROOT/WEB-INF/classes", classes)
+                .build();
+
+        serverURI = server.getURI();
+    }
+
+    @Test
+    public void getAllMovies() {
+        final WebTarget target = ClientBuilder.newClient().target(serverURI);
+
+        final Movie[] movies = target.path("/api/movies").request().get(Movie[].class);
+
+        assertEquals(6, movies.length);
+
+        final Movie movie = movies[1];
+        assertEquals("Todd Phillips", movie.getDirector());
+        assertEquals("Starsky & Hutch", movie.getTitle());
+        assertEquals("Action", movie.getGenre());
+        assertEquals(2004, movie.getYear());
+        assertEquals(2, movie.getId());
+    }
+}
+----
+
+No código acima, reunimos as classes `Api`,`Movie` e `MovieService` em um arquivo virtual, então adicionamos esse arquivo em uma instalação virtual do Tomcat no local `webapps/ROOT/WEB-INF/classes`. Quando chamamos `build()`, a instância do servidor Tomcat é iniciada em nossa JVM e começará a servir solicitações HTTP no host/porta identificado por `server.getURI()`
+
+Resumindo, inicializamos um servidor Tomcat em nossa JVM que ocupa um espaço de disco muito pequeno; três classes e um punhado de arquivos de configuração padrão.
+
+== Executando
+
+Se executássemos a classe principal ou caso de teste acima, veríamos uma saída como a seguinte:
+
+[source,bash]
+----
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener deployApplication
+INFO:      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@2d313c8c
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO: REST Application: http://localhost:8080/api        -> org.superbiz.movie.Api@6b2dd3df
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:      Service URI: http://localhost:8080/api/movies -> Pojo org.superbiz.movie.MovieService
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:               GET http://localhost:8080/api/movies ->      List<Movie> getAllMovies()
+Sep 03, 2020 8:41:29 AM org.apache.openejb.server.cxf.rs.CxfRsHttpListener logEndpoints
+INFO:              POST http://localhost:8080/api/movies ->      Movie addMovie(Movie)     
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Deployment of web application directory [/private/var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/temp14966428831095231081dir/apache-tomee/webapps/ROOT] has finished in [1,798] ms
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Starting ProtocolHandler ["http-nio-8080"]
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Server startup in [1877] milliseconds
+Sep 03, 2020 8:41:29 AM jdk.internal.reflect.DelegatingMethodAccessorImpl invoke
+INFO: Full bootstrap in [3545] milliseconds
+Listening for requests at http://localhost:8080
+----
diff --git a/examples/serverless-tomee-plus/pom.xml b/examples/serverless-tomee-plus/pom.xml
index 6c06365..0f48d57 100644
--- a/examples/serverless-tomee-plus/pom.xml
+++ b/examples/serverless-tomee-plus/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>serverless-tomee-plus</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Serverless Apache TomEE Plus</name>
   
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.tomee>8.0.5-SNAPSHOT</version.tomee>
+    <version.tomee>8.0.7-SNAPSHOT</version.tomee>
   </properties>
   <dependencies>
     <dependency>
diff --git a/examples/serverless-tomee-webprofile/pom.xml b/examples/serverless-tomee-webprofile/pom.xml
index 93bdcd4..2fdec6b 100644
--- a/examples/serverless-tomee-webprofile/pom.xml
+++ b/examples/serverless-tomee-webprofile/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>serverless-tomee-webprofile</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Serverless Apache TomEE WebProfile</name>
   
@@ -31,7 +31,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>tomee-webprofile</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/examples/simple-cdi-interceptor/pom.xml b/examples/simple-cdi-interceptor/pom.xml
index 924834e..3439c2b 100644
--- a/examples/simple-cdi-interceptor/pom.xml
+++ b/examples/simple-cdi-interceptor/pom.xml
@@ -16,7 +16,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-cdi-interceptor</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple CDI Interceptor</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -76,7 +76,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-cmp2/pom.xml b/examples/simple-cmp2/pom.xml
index 11778c9..17cd312 100644
--- a/examples/simple-cmp2/pom.xml
+++ b/examples/simple-cmp2/pom.xml
@@ -22,11 +22,11 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-cmp2</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple CMP2 Entity</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/simple-ear/moviefun-business-logic/pom.xml b/examples/simple-ear/moviefun-business-logic/pom.xml
index a2a865f..422aba9 100644
--- a/examples/simple-ear/moviefun-business-logic/pom.xml
+++ b/examples/simple-ear/moviefun-business-logic/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>moviefun-ear-parent</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>moviefun-business-logic</artifactId>
@@ -95,7 +95,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-ear/moviefun-business-model/pom.xml b/examples/simple-ear/moviefun-business-model/pom.xml
index c3435ad..2af2a3f 100644
--- a/examples/simple-ear/moviefun-business-model/pom.xml
+++ b/examples/simple-ear/moviefun-business-model/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>moviefun-ear-parent</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>moviefun-business-model</artifactId>
diff --git a/examples/simple-ear/moviefun-ear/pom.xml b/examples/simple-ear/moviefun-ear/pom.xml
index 6f8eb1f..fa9fd4d 100644
--- a/examples/simple-ear/moviefun-ear/pom.xml
+++ b/examples/simple-ear/moviefun-ear/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>moviefun-ear-parent</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>moviefun-ear</artifactId>
diff --git a/examples/simple-ear/moviefun-functional-tests/pom.xml b/examples/simple-ear/moviefun-functional-tests/pom.xml
index 2e9eeaa..a40f9be 100644
--- a/examples/simple-ear/moviefun-functional-tests/pom.xml
+++ b/examples/simple-ear/moviefun-functional-tests/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>moviefun-ear-parent</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>moviefun-functional-test</artifactId>
@@ -81,7 +81,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -99,7 +99,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>tomee-embedded</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <!--<classifier>uber</classifier> -->
       <scope>test</scope>
     </dependency>
@@ -129,7 +129,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-tomee-remote</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-ear/moviefun-functional-tests/src/test/resources/arquillian.xml b/examples/simple-ear/moviefun-functional-tests/src/test/resources/arquillian.xml
index c726dce..81a9d82 100644
--- a/examples/simple-ear/moviefun-functional-tests/src/test/resources/arquillian.xml
+++ b/examples/simple-ear/moviefun-functional-tests/src/test/resources/arquillian.xml
@@ -25,7 +25,7 @@
       <property name="httpPort">-1</property>
       <property name="stopPort">-1</property>
       <property name="tomcatVersion"></property>
-      <property name="dßßir">target/apache-tomee-remote</property>
+      <property name="dir">target/apache-tomee-remote</property>
       <property name="appWorkingDir">target/arquillian-test-working-dir</property>
     </configuration>
   </container>
diff --git a/examples/simple-ear/moviefun-webapp/pom.xml b/examples/simple-ear/moviefun-webapp/pom.xml
index 4a06320..04f2f18 100644
--- a/examples/simple-ear/moviefun-webapp/pom.xml
+++ b/examples/simple-ear/moviefun-webapp/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>org.superbiz</groupId>
     <artifactId>moviefun-ear-parent</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>moviefun-webapp</artifactId>
   <packaging>war</packaging>
@@ -58,7 +58,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/examples/simple-ear/pom.xml b/examples/simple-ear/pom.xml
index 6e85bfb..598ec3a 100644
--- a/examples/simple-ear/pom.xml
+++ b/examples/simple-ear/pom.xml
@@ -21,7 +21,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>moviefun-ear-parent</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>TomEE :: Examples :: Simple EAR</name>
   <modules>
@@ -33,7 +33,7 @@
   </modules>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <repositories>
     <repository>
diff --git a/examples/simple-jms-context/pom.xml b/examples/simple-jms-context/pom.xml
index ce5fed5..3b3082c 100644
--- a/examples/simple-jms-context/pom.xml
+++ b/examples/simple-jms-context/pom.xml
@@ -24,13 +24,13 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-jms-context</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple JMS Context</name>
 
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.arquillian>1.1.13.Final</version.arquillian>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/simple-jms/pom.xml b/examples/simple-jms/pom.xml
index 3a04f30..7070916 100644
--- a/examples/simple-jms/pom.xml
+++ b/examples/simple-jms/pom.xml
@@ -22,12 +22,12 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-jms</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple JMS</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <version.arquillian>1.1.13.Final</version.arquillian>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <defaultGoal>install</defaultGoal>
diff --git a/examples/simple-mdb-and-cdi/pom.xml b/examples/simple-mdb-and-cdi/pom.xml
index 0b34400..96f9ec4 100644
--- a/examples/simple-mdb-and-cdi/pom.xml
+++ b/examples/simple-mdb-and-cdi/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-mdb-and-cdi</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple MDB With a CDI Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-mdb-with-descriptor/pom.xml b/examples/simple-mdb-with-descriptor/pom.xml
index c97a544..c4311d2 100644
--- a/examples/simple-mdb-with-descriptor/pom.xml
+++ b/examples/simple-mdb-with-descriptor/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-mdb-with-descriptor</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple MDB Using Deployment Descriptor Example</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-mdb/pom.xml b/examples/simple-mdb/pom.xml
index 20bd3e8..4e27909 100644
--- a/examples/simple-mdb/pom.xml
+++ b/examples/simple-mdb/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-mdb</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple MDB Example</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-remote-tomcatusers/pom.xml b/examples/simple-remote-tomcatusers/pom.xml
index 44e3d49..4da1ed5 100644
--- a/examples/simple-remote-tomcatusers/pom.xml
+++ b/examples/simple-remote-tomcatusers/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-remote-tomcatusers</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Remote tomcat-users.xml</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -86,7 +86,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-tomee-remote</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
diff --git a/examples/simple-rest/pom.xml b/examples/simple-rest/pom.xml
index 2633a68..2746259 100644
--- a/examples/simple-rest/pom.xml
+++ b/examples/simple-rest/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>simple-rest</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple REST</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -82,7 +82,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-singleton/pom.xml b/examples/simple-singleton/pom.xml
index a354aca..dd220a8 100644
--- a/examples/simple-singleton/pom.xml
+++ b/examples/simple-singleton/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-singleton</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Singleton</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-stateful-callbacks/pom.xml b/examples/simple-stateful-callbacks/pom.xml
index 7ac14c4..11e90db 100644
--- a/examples/simple-stateful-callbacks/pom.xml
+++ b/examples/simple-stateful-callbacks/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-stateful-callbacks</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Stateful Pojo Callbacks</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -74,7 +74,7 @@
     <dependency>
       <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>pom</type>
     </dependency>
     <dependency>
@@ -90,7 +90,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-stateful/pom.xml b/examples/simple-stateful/pom.xml
index 49a4fd8..1f104e9 100644
--- a/examples/simple-stateful/pom.xml
+++ b/examples/simple-stateful/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-stateful</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Stateful Pojo</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-stateless-callbacks/pom.xml b/examples/simple-stateless-callbacks/pom.xml
index 983f752..9310b39 100644
--- a/examples/simple-stateless-callbacks/pom.xml
+++ b/examples/simple-stateless-callbacks/pom.xml
@@ -24,7 +24,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-stateless-callbacks</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Stateless Pojo Callbacks</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -71,7 +71,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-stateless-with-descriptor/pom.xml b/examples/simple-stateless-with-descriptor/pom.xml
index 896bcc9..5b31973 100644
--- a/examples/simple-stateless-with-descriptor/pom.xml
+++ b/examples/simple-stateless-with-descriptor/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-stateless-with-descriptor</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Stateless With Deployment Descriptor</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,13 +84,13 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-jee-accessors</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-stateless/pom.xml b/examples/simple-stateless/pom.xml
index 9637d0a..af8c631 100644
--- a/examples/simple-stateless/pom.xml
+++ b/examples/simple-stateless/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-stateless</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Stateless Pojo</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -84,7 +84,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/simple-webservice-without-interface/pom.xml b/examples/simple-webservice-without-interface/pom.xml
index d037a69..c153cd0 100644
--- a/examples/simple-webservice-without-interface/pom.xml
+++ b/examples/simple-webservice-without-interface/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-webservice-without-interface</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Webservice Without Interface</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,7 +83,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/simple-webservice/pom.xml b/examples/simple-webservice/pom.xml
index 8972e57..d0e5331 100644
--- a/examples/simple-webservice/pom.xml
+++ b/examples/simple-webservice/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>simple-webservice</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Simple Webservice</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,7 +83,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/singleton-startup-ordering/pom.xml b/examples/singleton-startup-ordering/pom.xml
index 05e7773..3d1baab 100755
--- a/examples/singleton-startup-ordering/pom.xml
+++ b/examples/singleton-startup-ordering/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>singleton-startup-ordering</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples ::  Singleton startup ordering</name>
   <properties>
diff --git a/examples/spring-data-proxy-meta/pom.xml b/examples/spring-data-proxy-meta/pom.xml
index b1476e6..127553d 100644
--- a/examples/spring-data-proxy-meta/pom.xml
+++ b/examples/spring-data-proxy-meta/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>spring-data-proxy-meta</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Spring Data Meta</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
   </dependencies>
   <!--
diff --git a/examples/spring-data-proxy/pom.xml b/examples/spring-data-proxy/pom.xml
index dfbc9b6..0b546e8 100644
--- a/examples/spring-data-proxy/pom.xml
+++ b/examples/spring-data-proxy/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>spring-data-proxy</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Spring Data</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
     </dependency>
   </dependencies>
   <!--
diff --git a/examples/struts/pom.xml b/examples/struts/pom.xml
index 80e5318..cecba7d 100644
--- a/examples/struts/pom.xml
+++ b/examples/struts/pom.xml
@@ -19,7 +19,7 @@
   <groupId>org.superbiz.struts</groupId>
   <artifactId>struts</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: Struts</name>
   <url>http://tomee.apache.org</url>
   <properties>
diff --git a/examples/telephone-stateful/pom.xml b/examples/telephone-stateful/pom.xml
index 8d75fcd..872bdd1 100644
--- a/examples/telephone-stateful/pom.xml
+++ b/examples/telephone-stateful/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>telephone-stateful</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Telephone Stateful Pojo</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -96,7 +96,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-ejbd</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- END SNIPPET: openejbdep -->
diff --git a/examples/testcase-injection/pom.xml b/examples/testcase-injection/pom.xml
index d23be7b..9129ccb 100644
--- a/examples/testcase-injection/pom.xml
+++ b/examples/testcase-injection/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testcase-injection</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: TestCase Injection</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-security-2/pom.xml b/examples/testing-security-2/pom.xml
index 12c9ff3..0cbf226 100644
--- a/examples/testing-security-2/pom.xml
+++ b/examples/testing-security-2/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-security-2</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Security</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-security-3/pom.xml b/examples/testing-security-3/pom.xml
index 8e5aa76..3f8fa30 100644
--- a/examples/testing-security-3/pom.xml
+++ b/examples/testing-security-3/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-security-3</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Security Service Provider</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-security-4/pom.xml b/examples/testing-security-4/pom.xml
index f17a25c..0240504 100644
--- a/examples/testing-security-4/pom.xml
+++ b/examples/testing-security-4/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-security-4</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Security Script Service Provider</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-security-meta/pom.xml b/examples/testing-security-meta/pom.xml
index ee4ceb4..1011867 100644
--- a/examples/testing-security-meta/pom.xml
+++ b/examples/testing-security-meta/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-security-meta</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Security (Meta)</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-security/pom.xml b/examples/testing-security/pom.xml
index be85768..baaac0e 100644
--- a/examples/testing-security/pom.xml
+++ b/examples/testing-security/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-security</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Security</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-transactions-bmt/pom.xml b/examples/testing-transactions-bmt/pom.xml
index ac7f51b..3643544 100644
--- a/examples/testing-transactions-bmt/pom.xml
+++ b/examples/testing-transactions-bmt/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-transactions-bmt</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Transactions BMT</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/testing-transactions/pom.xml b/examples/testing-transactions/pom.xml
index 250d1e3..5cdcb55 100644
--- a/examples/testing-transactions/pom.xml
+++ b/examples/testing-transactions/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>testing-transactions</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Testing Transactions</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -92,7 +92,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/tomee-jersey-eclipselink/pom.xml b/examples/tomee-jersey-eclipselink/pom.xml
index 8de005a..d5d5391 100644
--- a/examples/tomee-jersey-eclipselink/pom.xml
+++ b/examples/tomee-jersey-eclipselink/pom.xml
@@ -20,13 +20,13 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>tomee-jersey-eclipselink</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: TomEE, Jersey, Eclipselink</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.eclipselink>2.5.2</version.eclipselink>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <version.eclipselink>2.7.7</version.eclipselink>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
     <arquillian_universe.version>1.2.0.1</arquillian_universe.version>
   </properties>
   <dependencies>
@@ -74,7 +74,18 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-lang3</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.11</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
@@ -132,7 +143,7 @@
       <plugin>
         <groupId>org.apache.tomee.maven</groupId>
         <artifactId>tomee-maven-plugin</artifactId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
         <configuration>
           <systemVariables>
             <com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager>true</com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager>
diff --git a/examples/transaction-rollback/pom.xml b/examples/transaction-rollback/pom.xml
index 72debcd..b5337f3 100644
--- a/examples/transaction-rollback/pom.xml
+++ b/examples/transaction-rollback/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>transaction-rollback</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Transaction Rollback</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -89,7 +89,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/troubleshooting/pom.xml b/examples/troubleshooting/pom.xml
index a4f9441..f7826ae 100644
--- a/examples/troubleshooting/pom.xml
+++ b/examples/troubleshooting/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>troubleshooting</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Troubleshooting</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -89,7 +89,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/vaadin-lts-v08-simple/pom.xml b/examples/vaadin-lts-v08-simple/pom.xml
index dfec189..b8bd4a2 100644
--- a/examples/vaadin-lts-v08-simple/pom.xml
+++ b/examples/vaadin-lts-v08-simple/pom.xml
@@ -23,7 +23,7 @@
 
   <groupId>org.apache.tomee</groupId>
   <artifactId>vaadin-lts-v08-simple</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Vaadin LTS V08</name>
   <packaging>war</packaging>
@@ -106,7 +106,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf-rs</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/vaadin-lts-v10-simple/pom.xml b/examples/vaadin-lts-v10-simple/pom.xml
index 8f545b0..71e8053 100644
--- a/examples/vaadin-lts-v10-simple/pom.xml
+++ b/examples/vaadin-lts-v10-simple/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.tomee</groupId>
   <artifactId>vaadin-lts-v10-simple</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Vaadin LTS V10</name>
   <packaging>war</packaging>
   <!--
diff --git a/examples/vaadin-vxx-simple/pom.xml b/examples/vaadin-vxx-simple/pom.xml
index f6a5546..e781f2f 100644
--- a/examples/vaadin-vxx-simple/pom.xml
+++ b/examples/vaadin-vxx-simple/pom.xml
@@ -23,7 +23,7 @@
 
   <groupId>org.apache.tomee</groupId>
   <artifactId>vaadin-vxx-simple</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>TomEE :: Examples :: Vaadin LATEST</name>
   <packaging>war</packaging>
diff --git a/examples/webservice-attachments/pom.xml b/examples/webservice-attachments/pom.xml
index c3326ea..10fcae8 100644
--- a/examples/webservice-attachments/pom.xml
+++ b/examples/webservice-attachments/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-attachments</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Webservice Attachments</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -107,7 +107,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/webservice-handlerchain/pom.xml b/examples/webservice-handlerchain/pom.xml
index fe30b90..cf00235 100644
--- a/examples/webservice-handlerchain/pom.xml
+++ b/examples/webservice-handlerchain/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-handlerchain</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Web Service Handlers</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,7 +83,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/webservice-holder/pom.xml b/examples/webservice-holder/pom.xml
index cac2f1a..4382b5a 100644
--- a/examples/webservice-holder/pom.xml
+++ b/examples/webservice-holder/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-holder</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: @WebService Holder</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,7 +83,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/webservice-inheritance/pom.xml b/examples/webservice-inheritance/pom.xml
index ca68419..1fd639b 100644
--- a/examples/webservice-inheritance/pom.xml
+++ b/examples/webservice-inheritance/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-inheritance</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: Webservice Inheritance</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -91,7 +91,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/webservice-security/pom.xml b/examples/webservice-security/pom.xml
index c2c8e43..99fa647 100644
--- a/examples/webservice-security/pom.xml
+++ b/examples/webservice-security/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-security</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB WebService with Security</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -83,7 +83,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/webservice-ssl-client-cert/pom.xml b/examples/webservice-ssl-client-cert/pom.xml
index 03a41de..1293905 100644
--- a/examples/webservice-ssl-client-cert/pom.xml
+++ b/examples/webservice-ssl-client-cert/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-ssl-client-cert</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB WebService with SSL Client Certificate</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -104,7 +104,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>arquillian-tomee-remote</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
       <exclusions>
         <exclusion>
@@ -120,7 +120,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <!-- This is required on IBM JDKs (and potentially others) because saaj-impl depends
diff --git a/examples/webservice-ws-security/pom.xml b/examples/webservice-ws-security/pom.xml
index 57b6bf7..666898f 100644
--- a/examples/webservice-ws-security/pom.xml
+++ b/examples/webservice-ws-security/pom.xml
@@ -22,7 +22,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-ws-security</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB WebService with WS-Security</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -77,7 +77,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/examples/webservice-ws-with-resources-config/pom.xml b/examples/webservice-ws-with-resources-config/pom.xml
index 86f67e1..b7be578 100644
--- a/examples/webservice-ws-with-resources-config/pom.xml
+++ b/examples/webservice-ws-with-resources-config/pom.xml
@@ -21,7 +21,7 @@
   <groupId>org.superbiz</groupId>
   <artifactId>webservice-ws-with-resources-config</artifactId>
   <packaging>jar</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Web Examples :: EJB WebService WS Security with resources.xml</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -37,7 +37,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-cxf</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
diff --git a/examples/websocket-tls-basic-auth/pom.xml b/examples/websocket-tls-basic-auth/pom.xml
index e6e66ae..13b561d 100644
--- a/examples/websocket-tls-basic-auth/pom.xml
+++ b/examples/websocket-tls-basic-auth/pom.xml
@@ -20,7 +20,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.superbiz</groupId>
   <artifactId>websocket-tls-basic-auth</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>war</packaging>
   <name>TomEE :: Examples :: WebSocket with tls and basic auth Example</name>
   <properties>
diff --git a/examples/xa-datasource/README_es.adoc b/examples/xa-datasource/README_es.adoc
new file mode 100644
index 0000000..072d1af
--- /dev/null
+++ b/examples/xa-datasource/README_es.adoc
@@ -0,0 +1,326 @@
+:index-group: DataSources
+:jbake-type: page
+:jbake-status: status=published
+= Inyeccion del EntityManager
+
+En éste ejemplo y se muestra el uso de `@PersistenceContext` para tener um `EntityManager` con un 
+persistence context `EXTENDED`, inyecctado en un bean `@Stateful`. Un bean del tipo `@Entity` JPA, se 
+utiliza con el `EntityManager` para crear y actualizar los datos en una base de datos.
+
+## La creación de una entidad JPA
+
+La entidad por sí es simplemente un pojo con la anotación `@Entity`. Nosotros creamos una llamada `Movie` Lo que podemos usar para mantener registros de películas.
+
+    package org.superbiz.injection.jpa;
+
+    import javax.persistence.Entity;
+    
+    @Entity
+    public class Movie {
+
+        @Id @GeneratedValue
+        private long id;
+
+        private String director;
+        private String title;
+        private int year;
+
+        public Movie() {
+        }
+
+        public long getId() {
+            return id;
+        }
+
+        public void setId(long id) {
+            this.id = id;
+        }
+
+        public Movie(String director, String title, int year) {
+            this.director = director;
+            this.title = title;
+            this.year = year;
+        }
+
+        public String getDirector() {
+            return director;
+        }
+
+        public void setDirector(String director) {
+            this.director = director;
+        }
+
+        public String getTitle() {
+            return title;
+        }
+
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        public int getYear() {
+            return year;
+        }
+
+        public void setYear(int year) {
+            this.year = year;
+        }
+    }
+
+## Configure el EntityManager a través de un archivo persistence.xml
+
+La entidad `Movie` encima se puede crear, eliminado, actualizado a través de un objeto `EntityManager`. Lo `EntityManager` sí mismo es configurado a través de un archivo `META-INF/persistence.xml` que se coloca en el mismo jar como la entidad `Movie`.
+
+    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+      <persistence-unit name="movie-unit">
+        <jta-data-source>movieDatabase</jta-data-source>
+        <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
+        <class>org.superbiz.injection.jpa.Movie</class>
+
+        <properties>
+          <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+        </properties>
+      </persistence-unit>
+    </persistence>
+
+Note que la entidad `Movie` aparece a través de un elemento `<class>`. Esto no es necesario, pero puede ayudar a realizar la prueba o cuando clase `Movie` se encuentra en un jar diferente que el jar que contiene el archivo `persistence.xml`.
+
+## Inyección vía @PersistenceContext
+
+El `EntityManager` en sí mismo es creado por el contenedor utilizando la información en el `persistence.xml`, así que para usarlo en
+tiempo de ejecución, simplemente necesitamos solicitar que se inyecte en uno de nuestros componentes. Nosotros podemos hacer esto a través de `@PersistenceContext`
+
+La anotación `@PersistenceContext` se puede utilizar en cualquier bean CDI, EJB, Servlet, Servlet Listener, Servlet Filter, o JSF ManagedBean.
+
+    package org.superbiz.injection.jpa;
+
+    import javax.ejb.Stateful;
+    import javax.persistence.EntityManager;
+    import javax.persistence.PersistenceContext;
+    import javax.persistence.PersistenceContextType;
+    import javax.persistence.Query;
+    import java.util.List;
+    
+    @Stateful
+    public class Movies {
+    
+        @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
+        private EntityManager entityManager;
+    
+        public void addMovie(Movie movie) throws Exception {
+            entityManager.persist(movie);
+        }
+    
+        public void deleteMovie(Movie movie) throws Exception {
+            entityManager.remove(movie);
+        }
+    
+        public List<Movie> getMovies() throws Exception {
+            Query query = entityManager.createQuery("SELECT m from Movie as m");
+            return query.getResultList();
+        }
+    }
+
+Este particular `EntityManager` se inyecta como un contexto de persistencia `EXTENDED`, lo que simplemente significa que el `EntityManager` se crea cuando el `@Stateful` el bean se crea y destruye cuando el `@Stateful` bean es destruido. En pocas palabras, el datos en el `EntityManager` se almacena en caché durante la vida útil del bean `@Stateful`.
+
+El uso de `EXTENDED` contextos de persistencia es **solamente** disponible para beans `@Stateful`. Ver el [JPA Concepts](../../jpa-concepts.html)
+
+## MoviesTest
+
+Probar JPA es bastante fácil, simplemente podemos usar el `EJBContainer` API para crear un contenedor en nuestro caso de prueba.
+
+    package org.superbiz.injection.jpa;
+    
+    import junit.framework.TestCase;
+    
+    import javax.ejb.embeddable.EJBContainer;
+    import javax.naming.Context;
+    import java.util.List;
+    import java.util.Properties;
+    
+    //START SNIPPET: code
+    public class MoviesTest extends TestCase {
+    
+        public void test() throws Exception {
+    
+            final Properties p = new Properties();
+            p.put("movieDatabase", "new://Resource?type=DataSource");
+            p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
+            p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
+    
+            final Context context = EJBContainer.createEJBContainer(p).getContext();
+    
+            Movies movies = (Movies) context.lookup("java:global/injection-of-entitymanager/Movies");
+    
+            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
+            movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
+            movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
+    
+            List<Movie> list = movies.getMovies();
+            assertEquals("List.size()", 3, list.size());
+    
+            for (Movie movie : list) {
+                movies.deleteMovie(movie);
+            }
+    
+            assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
+        }
+    }
+
+# Ejecutar la aplicación
+Cuando ejecutamos nuestro caso de prueba, deberíamos ver un resultado similar al siguiente.
+    
+    -------------------------------------------------------
+     T E S T S
+    -------------------------------------------------------
+    Running org.superbiz.injection.jpa.MoviesTest
+    Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
+    http://tomee.apache.org/
+    INFO - openejb.home = /Users/dblevins/examples/injection-of-entitymanager
+    INFO - openejb.base = /Users/dblevins/examples/injection-of-entitymanager
+    INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
+    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
+    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
+    INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
+    INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-entitymanager/target/classes
+    INFO - Beginning load: /Users/dblevins/examples/injection-of-entitymanager/target/classes
+    INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-entitymanager
+    INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
+    INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
+    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
+    INFO - Auto-creating a container for bean org.superbiz.injection.jpa.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
+    INFO - Configuring PersistenceUnit(name=movie-unit)
+    INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
+    INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
+    INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
+    INFO - Enterprise application "/Users/dblevins/examples/injection-of-entitymanager" loaded.
+    INFO - Assembling app: /Users/dblevins/examples/injection-of-entitymanager
+    INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 462ms
+    INFO - Jndi(name="java:global/injection-of-entitymanager/Movies!org.superbiz.injection.jpa.Movies")
+    INFO - Jndi(name="java:global/injection-of-entitymanager/Movies")
+    INFO - Jndi(name="java:global/EjbModule1461341140/org.superbiz.injection.jpa.MoviesTest!org.superbiz.injection.jpa.MoviesTest")
+    INFO - Jndi(name="java:global/EjbModule1461341140/org.superbiz.injection.jpa.MoviesTest")
+    INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
+    INFO - Created Ejb(deployment-id=org.superbiz.injection.jpa.MoviesTest, ejb-name=org.superbiz.injection.jpa.MoviesTest, container=Default Managed Container)
+    INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
+    INFO - Started Ejb(deployment-id=org.superbiz.injection.jpa.MoviesTest, ejb-name=org.superbiz.injection.jpa.MoviesTest, container=Default Managed Container)
+    INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-entitymanager)
+    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.301 sec
+    
+    Results :
+    
+    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+    
+## Pruebas de Rendimiento
+
+### Prerrequisitos
+
+- Oralce DB
+
+  * Actualiza tu maven archivo `setings.xml` para contener en el sección `<servers>` la siguiente entrada:
+
+    ```xml   
+        <server>
+            <id>maven.oracle.com </id>
+            <username>YourOracleAccountUsername</username>
+            <password>YourOracleAccountPassword</password>
+            <configuration>
+                <basicAuthScope>
+                <host>ANY </host>
+                <port>ANY </port>
+                <realm>OAM 11g </realm>
+                </basicAuthScope>
+                <httpConfiguration>
+                <all>
+                <params>
+                <property>
+                <name>http.protocol.allow-circular-redirects </name>
+                <value>%b,true </value>
+                </property>
+                </params>
+                </all>
+                </httpConfiguration>
+            </configuration>
+        </server>
+    ```
+            
+   * Actualiza archivo `pom.xml`, sección `<dependency>` con lo siguiente:
+    
+    ```xml
+        <dependency>
+          <groupId>com.oracle.jdbc</groupId>
+          <artifactId>ojdbc8</artifactId>
+          <version>18.3.0.0</version>
+          <scope>provided</scope>
+        </dependency>
+    ```
+    
+   * Actualiza archivo `pom.xml`, sección `<repositories>` con lo siguiente:
+ 
+    ```xml               
+        <repository>
+          <id>maven.oracle.com</id>
+          <name>oracle-maven-repo</name>
+          <url>https://maven.oracle.com</url>
+          <layout>default</layout>
+          <releases>
+            <enabled>true</enabled>
+            <updatePolicy>always</updatePolicy>
+          </releases>
+        </repository>
+    ```
+    
+   * Actualiza archivo `pom.xml`, después sección `</repositories>`, agregue lo siguiente:
+
+    ```xml        
+        <pluginRepositories>
+            <pluginRepository>
+              <id>maven.oracle.com</id>
+              <name>oracle-maven-repo</name>
+              <url>https://maven.oracle.com</url>
+              <layout>default</layout>
+              <releases>
+                <enabled>true</enabled>
+                <updatePolicy>always</updatePolicy>
+              </releases>
+            </pluginRepository>
+        </pluginRepositories>   
+    ```
+
+   * Actualiza archivo `pom.xml`, agregue el tipo de jar JDBC para el tomee-maven-plugin:
+
+    ```xml        
+          <plugin>
+            <groupId>org.apache.tomee.maven</groupId>
+            <artifactId>tomee-maven-plugin</artifactId>
+            <version>${tomee.version}</version>
+            <configuration>
+              <tomeeVersion>${tomee.version}</tomeeVersion>
+              <tomeeClassifier>plume</tomeeClassifier>
+              <tomeeHttpPort>9080</tomeeHttpPort>
+              <tomeeShutdownPort>9005</tomeeShutdownPort>
+              <libs>
+                <lib>com.oracle.jdbc:ojdbc8:18.3.0.0</lib>
+              </libs>
+            </configuration>
+          </plugin>
+    ```
+    
+   Para más Oracle JDBC Maven configuración que puede comprobar [Artículo Oracle](https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-u
+    
+           
+### Ejecutar la aplicación
+Desde una terminal
+
+     mvn clean install tomee:run
+
+    
+### Ejecutar la consola de Grinder
+En una nueva terminal ejecutar:
+    
+     ./grinder.sh
+     
+Una vez que la consola UI está disponible, presiona el botón `Start the worker processes`
+La prueba de carga continuará hasta que presione en la consola el botón `Stop the worker processes and the agent processes`
+
diff --git a/examples/xa-datasource/pom.xml b/examples/xa-datasource/pom.xml
index f8f414c..5c6849f 100644
--- a/examples/xa-datasource/pom.xml
+++ b/examples/xa-datasource/pom.xml
@@ -22,12 +22,12 @@
   <groupId>org.superbiz</groupId>
   <artifactId>xa-datasource</artifactId>
   <packaging>war</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Examples :: XA Datasource configuration and usage</name>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <derby.version>10.12.1.1</derby.version>
-    <tomee.version>8.0.5-SNAPSHOT</tomee.version>
+    <tomee.version>8.0.7-SNAPSHOT</tomee.version>
   </properties>
   <build>
     <finalName>dbtest</finalName>
@@ -110,7 +110,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>openejb-core</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/gradle/gradle-tomee-embedded/pom.xml b/gradle/gradle-tomee-embedded/pom.xml
index 23182ef..53d5ef2 100644
--- a/gradle/gradle-tomee-embedded/pom.xml
+++ b/gradle/gradle-tomee-embedded/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>gradle</artifactId>
     <groupId>org.apache.tomee.gradle</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/gradle/pom.xml b/gradle/pom.xml
index 53b06f1..91f882b 100644
--- a/gradle/pom.xml
+++ b/gradle/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/itests/failover-ejb/pom.xml b/itests/failover-ejb/pom.xml
index e70b994..fb6bc29 100644
--- a/itests/failover-ejb/pom.xml
+++ b/itests/failover-ejb/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.openejb.itests</groupId>
diff --git a/itests/failover/pom.xml b/itests/failover/pom.xml
index 4401f95..7f4c039 100644
--- a/itests/failover/pom.xml
+++ b/itests/failover/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.openejb.itests</groupId>
diff --git a/itests/legacy-client/pom.xml b/itests/legacy-client/pom.xml
index 4e8e12b..878eda5 100644
--- a/itests/legacy-client/pom.xml
+++ b/itests/legacy-client/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/itests/legacy-server/pom.xml b/itests/legacy-server/pom.xml
index a1779f3..af66518 100644
--- a/itests/legacy-server/pom.xml
+++ b/itests/legacy-server/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.openejb.itests</groupId>
diff --git a/itests/microprofile-jwt-itests/pom.xml b/itests/microprofile-jwt-itests/pom.xml
index e4cb74d..912d6e9 100644
--- a/itests/microprofile-jwt-itests/pom.xml
+++ b/itests/microprofile-jwt-itests/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-jwt-itests</artifactId>
@@ -53,7 +53,7 @@
     <dependency>
       <groupId>org.apache.tomee</groupId>
       <artifactId>apache-tomee</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <type>tar.gz</type>
       <classifier>microprofile</classifier>
       <exclusions>
diff --git a/itests/openejb-itests-app/pom.xml b/itests/openejb-itests-app/pom.xml
index 4c3b031..a07f1b5 100644
--- a/itests/openejb-itests-app/pom.xml
+++ b/itests/openejb-itests-app/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-app</artifactId>
diff --git a/itests/openejb-itests-beans/pom.xml b/itests/openejb-itests-beans/pom.xml
index f714911..7e6a42b 100644
--- a/itests/openejb-itests-beans/pom.xml
+++ b/itests/openejb-itests-beans/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-beans</artifactId>
diff --git a/itests/openejb-itests-client/pom.xml b/itests/openejb-itests-client/pom.xml
index 7526d0e..120a747 100644
--- a/itests/openejb-itests-client/pom.xml
+++ b/itests/openejb-itests-client/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-client</artifactId>
@@ -79,15 +79,6 @@
           </execution>
         </executions>
       </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/test.help</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
     </plugins>
   </build>
   <dependencies>
diff --git a/itests/openejb-itests-interceptor-beans/pom.xml b/itests/openejb-itests-interceptor-beans/pom.xml
index 6483d90..f7452ed 100644
--- a/itests/openejb-itests-interceptor-beans/pom.xml
+++ b/itests/openejb-itests-interceptor-beans/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>itests</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-interceptor-beans</artifactId>
diff --git a/itests/openejb-itests-servlets/pom.xml b/itests/openejb-itests-servlets/pom.xml
index 477e3ad..0ff7d48 100644
--- a/itests/openejb-itests-servlets/pom.xml
+++ b/itests/openejb-itests-servlets/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-servlets</artifactId>
diff --git a/itests/openejb-itests-web/pom.xml b/itests/openejb-itests-web/pom.xml
index faef90a..9ee568d 100644
--- a/itests/openejb-itests-web/pom.xml
+++ b/itests/openejb-itests-web/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-itests-web</artifactId>
diff --git a/itests/pom.xml b/itests/pom.xml
index ef544fc..3b0299b 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/itests/tomee-server-composer/pom.xml b/itests/tomee-server-composer/pom.xml
index c5f5e2b..ad4e84d 100644
--- a/itests/tomee-server-composer/pom.xml
+++ b/itests/tomee-server-composer/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>tomee-server-composer</artifactId>
diff --git a/itests/tomee-server-version/pom.xml b/itests/tomee-server-version/pom.xml
index ce7424d..5505b7f 100644
--- a/itests/tomee-server-version/pom.xml
+++ b/itests/tomee-server-version/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>itests</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>tomee-server-version</artifactId>
diff --git a/maven/applicationcomposer-maven-plugin/pom.xml b/maven/applicationcomposer-maven-plugin/pom.xml
index e96e680..d8bcdc2 100644
--- a/maven/applicationcomposer-maven-plugin/pom.xml
+++ b/maven/applicationcomposer-maven-plugin/pom.xml
@@ -20,13 +20,13 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>applicationcomposer-maven-plugin</artifactId>
   <packaging>maven-plugin</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Maven Plugins :: ApplicationComposer Maven Plugin</name>
 
   <dependencies>
diff --git a/maven/jarstxt-maven-plugin/pom.xml b/maven/jarstxt-maven-plugin/pom.xml
index 805dba2..63bf702 100644
--- a/maven/jarstxt-maven-plugin/pom.xml
+++ b/maven/jarstxt-maven-plugin/pom.xml
@@ -19,12 +19,12 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>jarstxt-maven-plugin</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>TomEE :: Maven Plugins :: jars.txt Maven Plugin</name>
 
diff --git a/maven/maven-util/pom.xml b/maven/maven-util/pom.xml
index 3804bf4..3b9851e 100644
--- a/maven/maven-util/pom.xml
+++ b/maven/maven-util/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/maven/openejb-embedded-maven-plugin/pom.xml b/maven/openejb-embedded-maven-plugin/pom.xml
index dcc19a6..a7692de 100644
--- a/maven/openejb-embedded-maven-plugin/pom.xml
+++ b/maven/openejb-embedded-maven-plugin/pom.xml
@@ -20,13 +20,13 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
   <artifactId>openejb-embedded-maven-plugin</artifactId>
   <packaging>maven-plugin</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <name>TomEE :: Maven Plugins :: OpenEJB Embedded Maven Plugin</name>
 
   <dependencies>
diff --git a/maven/pom.xml b/maven/pom.xml
index 0c1adc0..7b23f6f 100644
--- a/maven/pom.xml
+++ b/maven/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <groupId>org.apache.tomee.maven</groupId>
diff --git a/maven/tomee-embedded-maven-plugin/pom.xml b/maven/tomee-embedded-maven-plugin/pom.xml
index 68552e8..0d5225f 100644
--- a/maven/tomee-embedded-maven-plugin/pom.xml
+++ b/maven/tomee-embedded-maven-plugin/pom.xml
@@ -22,11 +22,11 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>tomee-embedded-maven-plugin</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>TomEE :: Maven Plugins :: TomEE Embedded Maven Plugin</name>
 
diff --git a/maven/tomee-maven-plugin/pom.xml b/maven/tomee-maven-plugin/pom.xml
index f82414c..1c2533a 100644
--- a/maven/tomee-maven-plugin/pom.xml
+++ b/maven/tomee-maven-plugin/pom.xml
@@ -22,11 +22,11 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>tomee-maven-plugin</artifactId>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>TomEE :: Maven Plugins :: TomEE Maven Plugin</name>
 
diff --git a/maven/tomee-webapp-archetype/pom.xml b/maven/tomee-webapp-archetype/pom.xml
index 2b44c58..2ec3ca7 100644
--- a/maven/tomee-webapp-archetype/pom.xml
+++ b/maven/tomee-webapp-archetype/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.tomee.maven</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/mp-jwt/pom.xml b/mp-jwt/pom.xml
index f557c45..cc0958b 100644
--- a/mp-jwt/pom.xml
+++ b/mp-jwt/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>mp-jwt</artifactId>
@@ -64,7 +64,6 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>${johnzon.version}</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
diff --git a/pom.xml b/pom.xml
index 80240cc..f875209 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,7 @@
   <groupId>org.apache.tomee</groupId>
   <artifactId>tomee-project</artifactId>
   <packaging>pom</packaging>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <name>Apache OpenEJB</name>
   <description>Apache OpenEJB is an open source, modular, configurable and extensible EJB Container System and EJB Server.</description>
@@ -98,6 +98,7 @@
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
     <surefire.version>2.21.0</surefire.version>
+    <surefire.junit5.version>3.0.0-M5</surefire.junit5.version>
 
     <!-- for the default name of the module. Needs to be overridden -->
     <tomee.build.name>${project.groupId}.${project.artifactId}</tomee.build.name>
@@ -115,9 +116,10 @@
     <geronimo-javamail_1.6_mail.version>1.0.0</geronimo-javamail_1.6_mail.version>
 
     <openjpa.version>3.1.2</openjpa.version>
-    <openwebbeans.version>2.0.12</openwebbeans.version>
+    <openwebbeans.version>2.0.22-SNAPSHOT</openwebbeans.version>
     <jcs.version>2.1</jcs.version>
-    <johnzon.version>1.2.5</johnzon.version>
+    <johnzon.version>1.2.10</johnzon.version>
+    <quartz-openejb-shade.version>2.2.4</quartz-openejb-shade.version>
 
     <!-- Maven module versions -->
     <maven-bundle-plugin.version>3.3.0</maven-bundle-plugin.version>
@@ -145,9 +147,9 @@
     <version.shrinkwrap.descriptor>2.0.0</version.shrinkwrap.descriptor>
     <version.shrinkwrap.shrinkwrap>1.2.6</version.shrinkwrap.shrinkwrap>
 
-    <tomcat.version>9.0.39</tomcat.version>
+    <tomcat.version>9.0.43</tomcat.version>
 
-    <cxf.version>3.3.7</cxf.version>
+    <cxf.version>3.3.8</cxf.version>
     <ehcache.version>2.10.3</ehcache.version>
     <!-- used by cxf for security (replay attack) -->
     <jetty.version>7.5.3.v20111011</jetty.version>
@@ -176,7 +178,7 @@
     <commons-logging.version>1.2</commons-logging.version>
     <commons-logging-api.version>1.1</commons-logging-api.version>
     <commons-dbcp.version>2.1</commons-dbcp.version>
-    <commons-pool.version>2.9.0</commons-pool.version>
+    <commons-pool.version>2.3</commons-pool.version>
     <commons-collections.version>3.2.2</commons-collections.version>
     <commons-codec.version>1.15</commons-codec.version>
     <commons-fileupload.version>1.4</commons-fileupload.version>
@@ -186,24 +188,26 @@
     <commons-net.version>3.7.2</commons-net.version>
 
     <bval.version>2.0.5</bval.version>
-    <org.apache.activemq.version>5.16.0</org.apache.activemq.version>
+    <org.apache.activemq.version>5.16.1</org.apache.activemq.version>
     <org.springframework.version>3.1.4.RELEASE</org.springframework.version>
     <junit.version>4.13.1</junit.version>
+    <junit.jupiter.version>5.7.0</junit.jupiter.version>
     <org.apache.axis2.version>1.4.1</org.apache.axis2.version>
     <scannotation.version>1.0.2</scannotation.version>
     <geronimo.connector.version>3.1.4</geronimo.connector.version>
     <geronimo-osgi.version>1.1</geronimo-osgi.version>
-    <myfaces.version>2.3.6</myfaces.version>
+    <myfaces.version>2.3.8</myfaces.version>
     <mojarra.version>2.3.14</mojarra.version>
     <slf4j.version>1.7.21</slf4j.version>
     <log4j.version>1.2.17</log4j.version>
     <log4j2.version>2.0.1</log4j2.version>
     <osgi.framework.version>4.2.0</osgi.framework.version>
-    <version.hsqldb>2.5.1</version.hsqldb>
+    <derby.version>10.14.2.0</derby.version>
+    <version.hsqldb>2.3.2</version.hsqldb>
     <version.axiom>1.2.20</version.axiom>
     <version.xalan>2.7.2</version.xalan>
     <version.hibernate>5.4.10.Final</version.hibernate>
-    <version.eclipselink>2.7.4</version.eclipselink>
+    <version.eclipselink>2.7.7</version.eclipselink>
     <version.groovy>2.4.12</version.groovy>
 
     <!-- arquillian related -->
@@ -232,13 +236,12 @@
     <opentracing.api>0.31.0</opentracing.api>
 
     <!-- Jackson required by OpenAPI Impl -->
-    <jackson.version>2.12.0-rc1</jackson.version>
-    <jackson.dataformat.version>2.12.0-rc1</jackson.dataformat.version>
+    <jackson.version>2.12.1</jackson.version>
+    <jackson.dataformat.version>2.12.1</jackson.dataformat.version>
 
     <!-- Javadoc & Asciidoclet -->
     <javadoc.version>3.0.1</javadoc.version>
     <asciidoclet.version>1.5.0</asciidoclet.version>
-
   </properties>
 
   <build>
@@ -393,7 +396,10 @@
         <plugin>
           <groupId>org.owasp</groupId>
           <artifactId>dependency-check-maven</artifactId>
-          <version>4.0.0</version>
+          <version>6.0.5</version>
+          <configuration>
+            <suppressionFile>owasp-dc-suppression.xml</suppressionFile>
+          </configuration>
         </plugin>
         <plugin>
           <groupId>org.jacoco</groupId>
@@ -445,6 +451,7 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
+          <argLine>-Dfile.encoding=UTF-8</argLine>
           <trimStackTrace>false</trimStackTrace>
           <reuseForks>false</reuseForks>
           <!-- to be removed when all test lifecycles are fixed -->
@@ -579,6 +586,7 @@
         <activeByDefault>true</activeByDefault>
       </activation>
       <modules>
+        <module>deps</module>
         <module>boms</module>
         <module>itests</module>
         <module>maven</module>
@@ -618,6 +626,7 @@
     <profile>
       <id>no-examples</id>
       <modules>
+        <module>deps</module>
         <module>boms</module>
         <module>itests</module>
         <module>maven</module>
@@ -635,6 +644,7 @@
     <profile>
       <id>quick</id>
       <modules>
+        <module>deps</module>
         <module>boms</module>
         <module>maven</module>
         <module>gradle</module>
@@ -660,13 +670,18 @@
     <profile>
       <id>style</id>
       <modules>
-        <module>container/openejb-core</module>
-        <module>container/openejb-loader</module>
-        <module>container/openejb-junit</module>
-        <module>container/openejb-jpa-integration</module>
-        <module>container/openejb-javaagent</module>
-        <module>container/openejb-api</module>
+        <module>deps</module>
+        <module>boms</module>
+        <module>itests</module>
+        <module>maven</module>
+        <module>gradle</module>
+        <module>container</module>
+        <module>server</module>
+        <module>mp-jwt</module>
+        <module>assembly</module>
+        <module>tck</module>
         <module>arquillian</module>
+        <module>utils</module>
         <module>tomee</module>
       </modules>
       <properties>
@@ -741,7 +756,6 @@
             <configuration>
               <skipProvidedScope>true</skipProvidedScope>
               <skipRuntimeScope>true</skipRuntimeScope>
-              <suppressionFiles>${maven.multiModuleProjectDirectory}/owasp-dc-suppression.xml</suppressionFiles>
             </configuration>
             <executions>
               <execution>
@@ -765,7 +779,6 @@
               <skipProvidedScope>true</skipProvidedScope>
               <skipRuntimeScope>true</skipRuntimeScope>
               <failBuildOnCVSS>8.0</failBuildOnCVSS>
-              <suppressionFiles>${maven.multiModuleProjectDirectory}/owasp-dc-suppression.xml</suppressionFiles>
             </configuration>
             <executions>
               <execution>
@@ -780,18 +793,6 @@
     </profile>
     <profile>
       <id>rat</id>
-      <modules>
-        <module>itests</module>
-        <module>maven</module>
-        <module>gradle</module>
-        <module>container</module>
-        <module>server</module>
-        <module>examples</module>
-        <module>arquillian</module>
-        <module>assembly</module>
-        <module>utils</module>
-        <module>tomee</module>
-      </modules>
       <build>
         <plugins>
           <plugin>
@@ -808,8 +809,38 @@
             <configuration>
               <reportFile>${project.build.directory}/${project.build.finalName}.rat</reportFile>
               <excludes>
+                <exclude>doap_tomee.rdf</exclude>
+                <exclude>.git/**</exclude>
+                <exclude>.github/**</exclude>
                 <exclude>**/target/**/*</exclude>
                 <exclude>**/js/livereload.js</exclude>
+                <exclude>**/*.ser</exclude>
+                <exclude>**/*.pem</exclude>
+                <exclude>**/*.adoc</exclude>
+                <exclude>**/*.md</exclude>
+                <exclude>**/*.log</exclude>
+                <exclude>**/*.json</exclude>
+                <exclude>**/*.jwk</exclude>
+                <exclude>**/src/main/resources/META-INF/**/*.xsd</exclude>
+                <exclude>**/src/main/xsdlist/xsdlist.txt</exclude>
+                <exclude>**/META-INF/services/**</exclude>
+                <exclude>**/META-INF/org.apache.openejb**</exclude>
+                <exclude>**/META-INF/org.apache.openejb**/**</exclude>
+
+                <exclude>**/src/**/*login.config</exclude>
+                <exclude>**/src/main/resources/DATA-README.txt</exclude>
+                <exclude>**/src/test/resources/test.getresources</exclude>
+                <exclude>**/src/test/resources/test/log/localhost_access_log.2014-02-07.txt</exclude>
+                <exclude>**/src/main/resources/service.readme.txt</exclude>
+                <exclude>**/src/main/resources/default.exclusions</exclude>
+                <exclude>**/src/main/resources/default.openejb.conf</exclude>
+                <exclude>**/src/test/resources/altddapp2/META-INF/test.env-entries.properties</exclude>
+                <exclude>**/src/test/resources/META-INF/multiple</exclude>
+                <exclude>**/src/test/resources/openejb.json</exclude>
+                <exclude>**/src/test/resources/appresource.resources.json</exclude>
+
+                <exclude>**/tomee-deb/src/main/resources/**/*.template</exclude>
+                <exclude>**/tomee-deb/**/precompiled-changelog</exclude>
 
                 <!-- left around after creating the site -->
                 <exclude>**/cobertura.ser</exclude>
@@ -819,6 +850,7 @@
                 <exclude>**/hsqldb.log</exclude>
 
                 <!-- IDEA files -->
+                <exclude>.idea/**</exclude>
                 <exclude>**/*.iml</exclude>
                 <exclude>**/*.ipr</exclude>
                 <exclude>**/*.iws</exclude>
@@ -827,6 +859,20 @@
                 <exclude>**/.*</exclude>
                 <exclude>**/.*/*</exclude>
                 <exclude>**/eclipse-classes/**/*</exclude>
+
+                <!-- ASCIIDOC files -->
+                <exclude>docs/**</exclude>
+
+                <!-- examples -->
+                <exclude>examples/**/*.jsp</exclude>
+                <exclude>examples/**/*.css</exclude>
+                <exclude>examples/**/*.properties</exclude>
+                <exclude>examples/**/*.feature</exclude>
+                <exclude>examples/**/placeholder</exclude>
+                <exclude>examples/**/Dockerfile</exclude>
+                <exclude>examples/**/bootstrap/**</exclude>
+                <exclude>examples/**/.idea/**</exclude>
+
               </excludes>
             </configuration>
           </plugin>
@@ -1520,7 +1566,7 @@
       <dependency>
         <groupId>org.apache.openejb.shade</groupId>
         <artifactId>quartz-openejb-shade</artifactId>
-        <version>2.2.1</version>
+        <version>${quartz-openejb-shade.version}</version>
         <exclusions>
           <exclusion>
             <groupId>org.quartz-scheduler</groupId>
@@ -1771,6 +1817,33 @@
           </exclusion>
         </exclusions>
       </dependency>
+
+      <dependency>
+        <groupId>org.apache.johnzon</groupId>
+        <artifactId>johnzon-core</artifactId>
+        <version>${johnzon.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.johnzon</groupId>
+        <artifactId>johnzon-mapper</artifactId>
+        <version>${johnzon.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.johnzon</groupId>
+        <artifactId>johnzon-jaxrs</artifactId>
+        <version>${johnzon.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.johnzon</groupId>
+        <artifactId>johnzon-jsonb</artifactId>
+        <version>${johnzon.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.johnzon</groupId>
+        <artifactId>johnzon-jsonp-strict</artifactId>
+        <version>${johnzon.version}</version>
+      </dependency>
+
       <dependency>
         <groupId>org.testng</groupId>
         <artifactId>testng</artifactId>
@@ -1815,12 +1888,12 @@
       <dependency>
         <groupId>org.apache.derby</groupId>
         <artifactId>derbynet</artifactId>
-        <version>10.15.2.0</version>
+        <version>10.11.1.1</version>
       </dependency>
       <dependency>
         <groupId>org.apache.derby</groupId>
         <artifactId>derbyclient</artifactId>
-        <version>10.15.2.0</version>
+        <version>10.11.1.1</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.groovy</groupId>
@@ -1885,13 +1958,13 @@
         <version>1.16</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.taglibs</groupId>
-        <artifactId>taglibs-standard-jstlel</artifactId>
-        <version>1.2.5</version>
+        <groupId>org.apache.tomee</groupId>
+        <artifactId>taglibs-shade</artifactId>
+	<version>${project.version}</version>
         <exclusions>
           <exclusion>
-            <groupId>xalan</groupId>
-            <artifactId>xalan</artifactId>
+            <groupId>*</groupId>
+            <artifactId>*</artifactId>
           </exclusion>
         </exclusions>
       </dependency>
diff --git a/server/openejb-activemq/pom.xml b/server/openejb-activemq/pom.xml
index 8829b3c..4d89675 100644
--- a/server/openejb-activemq/pom.xml
+++ b/server/openejb-activemq/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-activemq</artifactId>
diff --git a/server/openejb-axis/pom.xml b/server/openejb-axis/pom.xml
index 6b1d975..925214b 100644
--- a/server/openejb-axis/pom.xml
+++ b/server/openejb-axis/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-axis</artifactId>
@@ -46,19 +46,6 @@
     </openejb.osgi.export>
   </properties>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/schema/soap_encoding_1_1.xsd</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
diff --git a/server/openejb-bonecp/pom.xml b/server/openejb-bonecp/pom.xml
index 7371b46..080e46f 100644
--- a/server/openejb-bonecp/pom.xml
+++ b/server/openejb-bonecp/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/server/openejb-client/pom.xml b/server/openejb-client/pom.xml
index 884ca16..661d68c 100644
--- a/server/openejb-client/pom.xml
+++ b/server/openejb-client/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-client</artifactId>
@@ -97,15 +97,6 @@
           <useFile>false</useFile>
         </configuration>
       </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.client.IdentityResolver/*</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
 
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
diff --git a/server/openejb-common-cli/pom.xml b/server/openejb-common-cli/pom.xml
index b76a079..6b1e07e 100644
--- a/server/openejb-common-cli/pom.xml
+++ b/server/openejb-common-cli/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/server/openejb-cxf-rs/pom.xml b/server/openejb-cxf-rs/pom.xml
index 570cd6b..14d7729 100644
--- a/server/openejb-cxf-rs/pom.xml
+++ b/server/openejb-cxf-rs/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -171,15 +171,18 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.apache.cxf</groupId>
+      <artifactId>cxf-rt-rs-sse</artifactId>
+      <version>${cxf.version}</version>
+    </dependency>
     <dependency> <!-- JohnzonProvider, WadlDocumentMessageBodyWriter and JsrProvider -->
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jaxrs</artifactId>
-      <version>${johnzon.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-jsonb</artifactId>
-      <version>${johnzon.version}</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.jettison</groupId>
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
index cfd7257..03c0b58 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
@@ -47,6 +47,8 @@
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.Providers;
+import javax.ws.rs.sse.Sse;
+import javax.ws.rs.sse.SseEventSink;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Field;
 import java.util.Collection;
@@ -102,6 +104,9 @@
         classes.add(ServletConfig.class);
         classes.add(ServletContext.class);
         classes.add(MessageContext.class);
+        classes.add(Sse.class);
+        classes.add(SseEventSink.class);
+
         return classes;
     }
 
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRSService.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRSService.java
index 702cba1..c27fd8b 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRSService.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRSService.java
@@ -19,6 +19,8 @@
 import org.apache.cxf.Bus;
 import org.apache.cxf.binding.BindingFactoryManager;
 import org.apache.cxf.jaxrs.JAXRSBindingFactory;
+import org.apache.cxf.jaxrs.sse.SseContextProvider;
+import org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider;
 import org.apache.cxf.transport.DestinationFactory;
 import org.apache.cxf.transport.http.HTTPTransportFactory;
 import org.apache.openejb.cdi.WebBeansContextBeforeDeploy;
@@ -218,7 +220,7 @@
     }
 
     private void initCxfProviders(final Bus bus) {
-        if (bus.getProperty("org.apache.cxf.jaxrs.bus.providers") == null) {
+        if (noProvidersExplicitlyAdded(bus)) {
             bus.setProperty("skip.default.json.provider.registration", "true"); // client jaxrs, we want johnzon not jettison
 
             final Collection<Object> defaults = new ArrayList<>();
@@ -268,6 +270,25 @@
         }
     }
 
+    private boolean noProvidersExplicitlyAdded(final Bus bus) {
+        final Object property = bus.getProperty("org.apache.cxf.jaxrs.bus.providers");
+
+        final Set<Class> currentProviders = new HashSet<>();
+
+        if (property instanceof List) {
+            for (final Object item : List.class.cast(property)) {
+                if (item != null) {
+                    currentProviders.add(item.getClass());
+                }
+            }
+        }
+
+        currentProviders.remove(SseContextProvider.class);
+        currentProviders.remove(SseEventSinkContextProvider.class);
+
+        return currentProviders.isEmpty();
+    }
+
     @Override
     public void stop() throws ServiceException {
         super.stop();
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
index 90569de..1a79dd2 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
@@ -38,6 +38,7 @@
 import org.apache.cxf.jaxrs.model.ProviderInfo;
 import org.apache.cxf.jaxrs.provider.ProviderFactory;
 import org.apache.cxf.jaxrs.provider.ServerProviderFactory;
+import org.apache.cxf.jaxrs.sse.SseContextProvider;
 import org.apache.cxf.jaxrs.utils.JAXRSUtils;
 import org.apache.cxf.jaxrs.utils.HttpUtils;
 import org.apache.cxf.jaxrs.validation.JAXRSBeanValidationInInterceptor;
@@ -74,6 +75,7 @@
 import org.apache.openejb.server.cxf.rs.event.ExtensionProviderRegistration;
 import org.apache.openejb.server.cxf.rs.event.ServerCreated;
 import org.apache.openejb.server.cxf.rs.event.ServerDestroyed;
+import org.apache.openejb.server.cxf.rs.sse.TomEESseEventSinkContextProvider;
 import org.apache.openejb.server.cxf.transport.HttpDestination;
 import org.apache.openejb.server.cxf.transport.util.CxfUtil;
 import org.apache.openejb.server.httpd.HttpRequest;
@@ -92,8 +94,11 @@
 import org.apache.webbeans.container.BeanManagerImpl;
 import org.apache.webbeans.context.creational.CreationalContextImpl;
 
+import javax.enterprise.context.Dependent;
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.InjectionException;
 import javax.enterprise.inject.spi.Bean;
+import javax.inject.Singleton;
 import javax.management.ObjectName;
 import javax.management.openmbean.TabularData;
 import javax.naming.Context;
@@ -109,6 +114,8 @@
 import javax.validation.metadata.MethodDescriptor;
 import javax.ws.rs.ConstrainedTo;
 import javax.ws.rs.RuntimeType;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.client.ClientRequestFilter;
 import javax.ws.rs.core.Application;
 import javax.ws.rs.core.Configuration;
 import javax.ws.rs.core.MediaType;
@@ -461,9 +468,11 @@
                 factory.setServiceClass(clazz);
             }
 
-            server = factory.create();
-            destination = (HttpDestination) server.getDestination();
+            factory.setTransportId("http://cxf.apache.org/transports/http/sse");
 
+            server = factory.create();
+
+            destination = (HttpDestination) server.getDestination();
             fireServerCreated(oldLoader);
         } finally {
             if (oldLoader != null) {
@@ -557,6 +566,11 @@
             }
             throw new IllegalArgumentException(clazz + " is not a SERVER provider");
         }
+
+        if (ClientRequestFilter.class.isAssignableFrom(clazz)) {
+            return true;
+        }
+
         return false;
     }
 
@@ -658,6 +672,33 @@
                         final Object proxy = ProxyEJB.subclassProxy(restServiceInfo.context);
                         factory.setResourceProvider(clazz, new NoopResourceProvider(restServiceInfo.context.getBeanClass(), proxy));
                     } else {
+                        // check if its a singleton.
+
+                        if (owbCtx != null) {
+                            final BeanManagerImpl bm = owbCtx.getBeanManagerImpl();
+                            Bean<?> bean = null;
+
+                            if (bm != null && bm.isInUse()) {
+                                try {
+                                    final Set<Bean<?>> beans = bm.getBeans(clazz);
+                                    bean = bm.resolve(beans);
+                                } catch (final InjectionException ie) {
+                                    final String msg = "Resource class " + clazz.getName() + " can not be instantiated";
+                                    LOGGER.warning(msg, ie);
+                                    throw new WebApplicationException(Response.serverError().entity(msg).build());
+                                }
+
+                                if (bean != null && isConsideredSingleton(bean.getScope())) {
+                                    final Object reference = bm.getReference(bean, bean.getBeanClass(), bm.createCreationalContext(bean));
+                                    factory.setResourceProvider(clazz, new CdiSingletonResourceProvider(
+                                            classLoader, clazz, reference, injections, context, owbCtx));
+
+                                    continue;
+                                }
+                            }
+                        }
+
+
                         factory.setResourceProvider(clazz, new OpenEJBPerRequestPojoResourceProvider(
                                 classLoader, clazz, injections, context, owbCtx));
                     }
@@ -702,6 +743,9 @@
             }
 
             try {
+                factory.setProvider(new SseContextProvider());
+                factory.setProvider(new TomEESseEventSinkContextProvider());
+
                 server = factory.create();
                 fixProviderIfKnown();
                 fireServerCreated(oldLoader);
@@ -752,6 +796,10 @@
         }
     }
 
+    private boolean isConsideredSingleton(final Class<?> scope) {
+        return Singleton.class == scope || Dependent.class == scope;
+    }
+
     private void fixProviderIfKnown() {
         final ServerProviderFactory spf = ServerProviderFactory.class.cast(server.getEndpoint().get(ServerProviderFactory.class.getName()));
         for (final String field : asList("messageWriters", "messageReaders")) {
@@ -1187,7 +1235,7 @@
         private static final ClassLoader SYSTEM_LOADER = ClassLoader.getSystemClassLoader();
 
         public DefaultProviderComparator() {
-            super(null);
+            super(CxfUtil.getBus());
         }
 
         @Override
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEConfigurableJohnzon.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEConfigurableJohnzon.java
index 57bb29f..3462961 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEConfigurableJohnzon.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEConfigurableJohnzon.java
@@ -44,7 +44,7 @@
     public void setConverters(final Collection<Converter<?>> converters) {
         for (final Converter<?> converter : converters) {
             final Type type = findType(converter, Converter.class);
-            builder().addAdapter(ParameterizedType.class.cast(type).getActualTypeArguments()[0], String.class, new ConverterAdapter(converter));
+            builder().addAdapter(ParameterizedType.class.cast(type).getActualTypeArguments()[0], String.class, new ConverterAdapter(converter, type));
         }
     }
 
@@ -67,7 +67,7 @@
     }
 
     public void setDatePattern(final String datePattern) {
-        builder().addAdapter(Date.class, String.class, new ConverterAdapter<>(new DateConverter(datePattern)));
+        builder().addAdapter(Date.class, String.class, new ConverterAdapter<>(new DateConverter(datePattern), Date.class));
     }
 
     private Type findType(final Object ref, final Class<?> api) { // need to impl adapters directly
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
index 4211b6e..841cea9 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonbProvider.java
@@ -19,10 +19,19 @@
 import org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider;
 import org.apache.johnzon.mapper.access.AccessMode;
 
+import javax.activation.DataSource;
 import javax.json.bind.JsonbConfig;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.ext.Provider;
+import java.io.File;
+import java.io.OutputStream;
+import java.io.Reader;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
 import java.util.Locale;
 
 @Provider
@@ -32,6 +41,45 @@
 public class TomEEJsonbProvider<T> extends JsonbJaxrsProvider<T> {
     public TomEEJsonbProvider() {
         config.withPropertyVisibilityStrategy(new TomEEJsonbPropertyVisibilityStrategy());
+        setThrowNoContentExceptionOnEmptyStreams(true); // this is to make TCK tests happy
+    }
+
+    @Override
+    public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
+        // let the CXF built-in writer handle this one
+        // TODO: add a setting?
+        if (DataSource.class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (byte[].class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (File.class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (Reader.class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        return super.isWriteable(type, genericType, annotations, mediaType);
+    }
+
+    @Override
+    public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) {
+        // let the CXF built-in writer handle this one
+        // TODO: add a setting?
+        if (DataSource.class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        if (byte[].class.isAssignableFrom(type)) {
+            return false;
+        }
+
+        return super.isReadable(type, genericType, annotations, mediaType);
     }
 
     public void setDateFormat(String dateFormat) {
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonpProvider.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonpProvider.java
index 472fba8..d75b65a 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonpProvider.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/johnzon/TomEEJsonpProvider.java
@@ -18,6 +18,7 @@
 
 import org.apache.johnzon.jaxrs.JsrProvider;
 
+import javax.activation.DataSource;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
@@ -40,6 +41,7 @@
                 && !OutputStream.class.isAssignableFrom(rawType)
                 && !StreamingOutput.class.isAssignableFrom(rawType)
                 && !Writer.class.isAssignableFrom(rawType)
-                && !Response.class.isAssignableFrom(rawType);
+                && !Response.class.isAssignableFrom(rawType)
+                && !DataSource.class.isAssignableFrom(rawType);
     }
 }
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/sse/TomEESseEventSinkContextProvider.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/sse/TomEESseEventSinkContextProvider.java
new file mode 100644
index 0000000..912a830
--- /dev/null
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/sse/TomEESseEventSinkContextProvider.java
@@ -0,0 +1,61 @@
+/*
+ *     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.
+ */
+package org.apache.openejb.server.cxf.rs.sse;
+
+import org.apache.cxf.jaxrs.ext.ContextProvider;
+import org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider;
+import org.apache.cxf.jaxrs.sse.SseEventSinkImpl;
+
+import javax.servlet.AsyncContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.container.AsyncResponse;
+import javax.ws.rs.ext.MessageBodyWriter;
+import javax.ws.rs.sse.OutboundSseEvent;
+import javax.ws.rs.sse.SseEventSink;
+import java.util.concurrent.CompletionStage;
+
+public class TomEESseEventSinkContextProvider extends SseEventSinkContextProvider implements ContextProvider<SseEventSink> {
+    @Override
+    protected SseEventSink createSseEventSink(final HttpServletRequest request,
+                                              final MessageBodyWriter<OutboundSseEvent> writer,
+                                              final AsyncResponse async, final Integer bufferSize) {
+        if (bufferSize != null) {
+            return new TomEESseEventSink(writer, async, request.getAsyncContext(), bufferSize);
+        } else {
+            return new TomEESseEventSink(writer, async, request.getAsyncContext());
+        }
+    }
+
+    public static class TomEESseEventSink extends SseEventSinkImpl implements SseEventSink {
+        public TomEESseEventSink(final MessageBodyWriter<OutboundSseEvent> writer, final AsyncResponse async, final AsyncContext ctx) {
+            super(writer, async, ctx);
+        }
+
+        public TomEESseEventSink(final MessageBodyWriter<OutboundSseEvent> writer, final AsyncResponse async, final AsyncContext ctx, final int bufferSize) {
+            super(writer, async, ctx, bufferSize);
+        }
+
+        @Override
+        public CompletionStage<?> send(OutboundSseEvent event) {
+            if (isClosed()) {
+                throw new IllegalStateException("The event sink is closed");
+            }
+
+            return super.send(event);
+        }
+    }
+}
diff --git a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CDISSEApplicationTest.java b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CDISSEApplicationTest.java
new file mode 100644
index 0000000..362af83
--- /dev/null
+++ b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CDISSEApplicationTest.java
@@ -0,0 +1,212 @@
+/*
+ *     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.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.openejb.jee.WebApp;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Classes;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.EnableServices;
+import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Event;
+import javax.enterprise.event.Observes;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.sse.*;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicLong;
+
+import static org.junit.Assert.assertEquals;
+
+@EnableServices("jax-rs")
+@RunWith(ApplicationComposer.class)
+public class CDISSEApplicationTest {
+
+    private static int port = -1;
+
+    @BeforeClass
+    public static void beforeClass() {
+        port = NetworkUtil.getNextAvailablePort();
+    }
+
+    @Configuration
+    public Properties props() {
+        return new PropertiesBuilder().p("httpejbd.port", Integer.toString(port)).build();
+    }
+
+    @Module
+    @Classes(cdi = true, value = {MyCdiRESTApplication.class, Resource.class})
+    public WebApp war() {
+        return new WebApp()
+            .contextRoot("foo")
+            .addServlet("REST Application", Application.class.getName())
+            .addInitParam("REST Application", "javax.ws.rs.Application", MyCdiRESTApplication.class.getName());
+    }
+
+    @Inject
+    private Event<Message> messageEvent;
+
+    @Test
+    public void testSse() throws Exception {
+        final List<Message> messages = new ArrayList<>();
+
+        final Runnable r = () -> {
+            final Client client = ClientBuilder.newClient();
+            final WebTarget target = client.target("http://localhost:" + port + "/foo/sse");
+
+            final SseEventSource source = SseEventSource
+                    .target(target)
+                    .reconnectingEvery(500, TimeUnit.MILLISECONDS)
+                    .build();
+
+            source.register((inboundSseEvent) -> {
+                final Message message = inboundSseEvent.readData(Message.class);
+                messages.add(message);
+            });
+
+            source.open();
+        };
+
+        new Thread(r).start();
+
+        Control.getInstance().waitUntilListening();
+        messageEvent.fire(new Message(new Date().getTime(), "Hello"));
+    }
+
+    public static class MyCdiRESTApplication extends Application {
+
+    }
+
+    @Path("sse")
+    @Singleton
+    public static class Resource {
+
+        private SseBroadcaster broadcaster;
+        private OutboundSseEvent.Builder builder;
+        private AtomicLong eventId = new AtomicLong();
+        private HttpServletRequest request;
+
+        public Resource() {
+            System.out.println("Resource created");
+        }
+
+        @Context
+        public void setHttpRequest(final HttpServletRequest request) {
+            this.request = request;
+        }
+
+        @Context
+        public void setSse(final Sse sse) {
+            this.broadcaster = sse.newBroadcaster();
+            this.builder = sse.newEventBuilder();
+        }
+
+        public void send(@Observes final Message message) {
+            broadcaster.broadcast(createEvent(builder, eventId.incrementAndGet(), message));
+        }
+
+        @GET
+        @Produces(MediaType.SERVER_SENT_EVENTS)
+        public void stats(final @Context SseEventSink sink) {
+            broadcaster.register(sink);
+            Control.getInstance().listening();
+        }
+
+        private static OutboundSseEvent createEvent(final OutboundSseEvent.Builder builder, final long eventId, final Message message) {
+            return builder
+                    .id("" + eventId)
+                    .data(Message.class, message)
+                    .mediaType(MediaType.APPLICATION_JSON_TYPE)
+                    .build();
+        }
+    }
+
+    public static class Message implements Serializable {
+        private static final long serialVersionUID = -6705829915457870975L;
+
+        private long timestamp;
+        private String text;
+
+        public Message() {
+        }
+
+        public Message(final long timestamp, final String text) {
+            this.timestamp = timestamp;
+            this.text = text;
+        }
+
+        public long getTimestamp() {
+            return timestamp;
+        }
+
+        public void setTimestamp(final long timestamp) {
+            this.timestamp = timestamp;
+        }
+
+        public String getText() {
+            return text;
+        }
+
+        public void setText(final String text) {
+            this.text = text;
+        }
+    }
+
+    public static class Control {
+        private static final Control INSTANCE = new Control();
+        private final CountDownLatch listen = new CountDownLatch(1);
+
+        private Control() {
+        }
+
+        public static Control getInstance() {
+            return INSTANCE;
+        }
+
+        public void listening() {
+            listen.countDown();
+        }
+
+        public void waitUntilListening() throws InterruptedException {
+            listen.await(1, TimeUnit.MINUTES);
+        }
+    }
+}
diff --git a/server/openejb-cxf-transport/pom.xml b/server/openejb-cxf-transport/pom.xml
index 45b3998..3c1acec 100644
--- a/server/openejb-cxf-transport/pom.xml
+++ b/server/openejb-cxf-transport/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/server/openejb-cxf/pom.xml b/server/openejb-cxf/pom.xml
index 0c9b7d8..efb664d 100644
--- a/server/openejb-cxf/pom.xml
+++ b/server/openejb-cxf/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -95,7 +95,7 @@
     <dependency>
       <groupId>org.bouncycastle</groupId>
       <artifactId>bcprov-jdk15on</artifactId>
-      <version>1.64</version>
+      <version>1.67</version>
     </dependency>
     <dependency>
       <groupId>org.apache.wss4j</groupId>
diff --git a/server/openejb-daemon/pom.xml b/server/openejb-daemon/pom.xml
index d8decd2..f65add4 100644
--- a/server/openejb-daemon/pom.xml
+++ b/server/openejb-daemon/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-daemon</artifactId>
diff --git a/server/openejb-derbynet/pom.xml b/server/openejb-derbynet/pom.xml
index 02e26a2..4b30ac8 100644
--- a/server/openejb-derbynet/pom.xml
+++ b/server/openejb-derbynet/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-derbynet</artifactId>
diff --git a/server/openejb-ejbd/pom.xml b/server/openejb-ejbd/pom.xml
index e43f5c5..ab39e96 100644
--- a/server/openejb-ejbd/pom.xml
+++ b/server/openejb-ejbd/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-ejbd</artifactId>
diff --git a/server/openejb-hessian/pom.xml b/server/openejb-hessian/pom.xml
index 0b70adf..a922409 100644
--- a/server/openejb-hessian/pom.xml
+++ b/server/openejb-hessian/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-hessian</artifactId>
@@ -36,7 +36,7 @@
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>openejb-http</artifactId>
-      <version>8.0.5-SNAPSHOT</version>
+      <version>8.0.7-SNAPSHOT</version>
       <scope>provided</scope>
     </dependency>
     <dependency>
diff --git a/server/openejb-hsql/pom.xml b/server/openejb-hsql/pom.xml
index 86e86cb..531ee8e 100644
--- a/server/openejb-hsql/pom.xml
+++ b/server/openejb-hsql/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-hsql</artifactId>
diff --git a/server/openejb-http/pom.xml b/server/openejb-http/pom.xml
index 4b01017..bfe7da2 100644
--- a/server/openejb-http/pom.xml
+++ b/server/openejb-http/pom.xml
@@ -26,7 +26,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-http</artifactId>
diff --git a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EEFilter.java b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EEFilter.java
index 18050c7..38ed02f 100644
--- a/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EEFilter.java
+++ b/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EEFilter.java
@@ -38,8 +38,9 @@
 import javax.servlet.http.HttpServletRequestWrapper;
 import java.io.IOException;
 import java.util.Properties;
+import java.util.concurrent.atomic.AtomicReference;
 
-// its pupose is to start/stop request scope in async tasks
+// its purpose is to start/stop request scope in async tasks
 // and ensure logout is propagated to security service
 public class EEFilter implements Filter {
     private SecurityService securityService;
@@ -93,11 +94,26 @@
                 filter.onLogout(HttpServletRequest.class.cast(getRequest()));
             }
         }
+
+        @Override
+        public int hashCode() {
+            // unwrap and delegate
+            return getRequest().hashCode();
+        }
+
+        @Override
+        public boolean equals(final Object obj) {
+            // unwrap and delegate
+            return getRequest().equals(obj);
+        }
     }
 
     public static class CdiRequest extends NoCdiRequest {
         private final WebBeansContext webBeansContext;
 
+        // it's a request so not multi-threaded
+        private final AtomicReference<AsynContextWrapper> asyncContextWrapperReference = new AtomicReference<>();
+
         public CdiRequest(final HttpServletRequest cast, final WebBeansContext webBeansContext, final EEFilter filter) {
             super(cast, filter);
             this.webBeansContext = webBeansContext;
@@ -105,12 +121,22 @@
 
         @Override
         public AsyncContext startAsync() throws IllegalStateException {
-            return new AsynContextWrapper(super.startAsync(), this, webBeansContext);
+            asyncContextWrapperReference.compareAndSet(null,
+                                                       new AsynContextWrapper(super.startAsync(), this, webBeansContext));
+            return asyncContextWrapperReference.get();
         }
 
         @Override
         public AsyncContext startAsync(final ServletRequest servletRequest, final ServletResponse servletResponse) throws IllegalStateException {
-            return new AsynContextWrapper(super.startAsync(servletRequest, servletResponse), servletRequest, webBeansContext);
+            asyncContextWrapperReference.compareAndSet(null,
+                                                       new AsynContextWrapper(super.startAsync(servletRequest, servletResponse), servletRequest, webBeansContext));
+            return asyncContextWrapperReference.get();
+        }
+
+        @Override
+        public AsyncContext getAsyncContext() {
+            // tomcat won't return our wrapper
+            return asyncContextWrapperReference.get();
         }
     }
 
@@ -163,7 +189,16 @@
 
         @Override
         public boolean hasOriginalRequestAndResponse() {
-            return delegate.hasOriginalRequestAndResponse();
+            final boolean tomcatHasOriginalRequestAndResponse = delegate.hasOriginalRequestAndResponse();
+            if (!tomcatHasOriginalRequestAndResponse) {
+                // unfortunately in the startAsync() Tomcat computes the hasOriginalRequestAndResponse flag
+                // Unfortunately we pass in the wrapped request so the flag is false
+                // we need to override the value returned by Tomcat in case we are wrapping the request
+                if (request instanceof NoCdiRequest) { // and CdiRequest
+                    return request == delegate.getRequest(); // Tomcat should have this as the request and not the RequestFacade
+                }
+            }
+            return tomcatHasOriginalRequestAndResponse;
         }
 
         @Override
diff --git a/server/openejb-multicast/pom.xml b/server/openejb-multicast/pom.xml
index 5b06ea6..3ca5340 100644
--- a/server/openejb-multicast/pom.xml
+++ b/server/openejb-multicast/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
 
diff --git a/server/openejb-rest/pom.xml b/server/openejb-rest/pom.xml
index e4b064b..2b24b30 100644
--- a/server/openejb-rest/pom.xml
+++ b/server/openejb-rest/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/server/openejb-server/pom.xml b/server/openejb-server/pom.xml
index 3d785d6..e4f260a 100644
--- a/server/openejb-server/pom.xml
+++ b/server/openejb-server/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-server</artifactId>
@@ -38,15 +38,6 @@
     </resources>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.cli/*</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
diff --git a/server/openejb-ssh/pom.xml b/server/openejb-ssh/pom.xml
index c9c6518..79fd77a 100644
--- a/server/openejb-ssh/pom.xml
+++ b/server/openejb-ssh/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/server/openejb-webservices/pom.xml b/server/openejb-webservices/pom.xml
index 2c8299a..a5f15bd 100644
--- a/server/openejb-webservices/pom.xml
+++ b/server/openejb-webservices/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>server</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>openejb-webservices</artifactId>
diff --git a/server/pom.xml b/server/pom.xml
index 120a1fe..d13d84a 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>server</artifactId>
diff --git a/tck/bval-embedded/pom.xml b/tck/bval-embedded/pom.xml
index d0c8609..69ff718 100644
--- a/tck/bval-embedded/pom.xml
+++ b/tck/bval-embedded/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tck/bval-signature-test/pom.xml b/tck/bval-signature-test/pom.xml
index c3669c1..6a84743 100644
--- a/tck/bval-signature-test/pom.xml
+++ b/tck/bval-signature-test/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -76,7 +76,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <useFile>false</useFile>
-          <disableXmlReport>true</disableXmlReport>
+          <disableXmlReport>false</disableXmlReport>
           <skip>true</skip>
         </configuration>
       </plugin>
diff --git a/tck/bval-tomee/pom.xml b/tck/bval-tomee/pom.xml
index 3484aa3..707636d 100644
--- a/tck/bval-tomee/pom.xml
+++ b/tck/bval-tomee/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -113,7 +113,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <useFile>false</useFile>
-          <disableXmlReport>true</disableXmlReport>
+          <disableXmlReport>false</disableXmlReport>
           <skip>true</skip>
         </configuration>
       </plugin>
diff --git a/tck/cdi-embedded/dev-tests.xml b/tck/cdi-embedded/dev-tests.xml
index 52e88d3..9f4aac7 100644
--- a/tck/cdi-embedded/dev-tests.xml
+++ b/tck/cdi-embedded/dev-tests.xml
@@ -50,8 +50,9 @@
 
     <classes>
       <!-- fails due to integration issue within openejb-http, but passes on cdi-tomee -->
-      <class name="org.jboss.cdi.tck.tests.implementation.builtin.metadata.session.BuiltinMetadataSessionBeanTest">
-        <methods><include name="testInterceptorMetadata"/></methods>
+        <!--      <class name="org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative.Specialization06Test">-->
+        <class name="org.jboss.cdi.tck.tests.event.observer.inheritance.enterprise.EnterpriseObserverInheritanceTest">
+<!--        <methods><include name="testNonStaticObserverMethodInherited"/></methods>-->
       </class>
 
     </classes>
diff --git a/tck/cdi-embedded/pom.xml b/tck/cdi-embedded/pom.xml
index 23c3458..f53ec62 100644
--- a/tck/cdi-embedded/pom.xml
+++ b/tck/cdi-embedded/pom.xml
@@ -19,13 +19,13 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>cdi-embedded</artifactId>
   <packaging>jar</packaging>
   <name>TomEE :: TCK :: CDI Embedded</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <properties>
     <testngSuiteXml>src/test/resources/passing.xml</testngSuiteXml>
@@ -68,17 +68,18 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>${project.version}</version>
       <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <scope>test</scope>
@@ -203,7 +204,7 @@
           <forkCount>1</forkCount>
           <argLine>${surefire.argline}</argLine>
           <useFile>false</useFile>
-          <disableXmlReport>true</disableXmlReport>
+          <disableXmlReport>false</disableXmlReport>
           <suiteXmlFiles>
             <suiteXmlFile>${testngSuiteXml}</suiteXmlFile>
           </suiteXmlFiles>
diff --git a/tck/cdi-signature-test/pom.xml b/tck/cdi-signature-test/pom.xml
index 9a0b4b1..0eafa2b 100644
--- a/tck/cdi-signature-test/pom.xml
+++ b/tck/cdi-signature-test/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tck/cdi-tomee/dev-tests.xml b/tck/cdi-tomee/dev-tests.xml
index f42d9a0..b7acf0c 100644
--- a/tck/cdi-tomee/dev-tests.xml
+++ b/tck/cdi-tomee/dev-tests.xml
@@ -49,7 +49,7 @@
 -->
 
     <classes>
-      <class name="org.jboss.cdi.tck.tests.lookup.modules.InterModuleLookupTest"/>
+      <class name="org.jboss.cdi.tck.tests.lookup.modules.specialization.alternative.Specialization06Test"/>
 <!--
       <class name="org.jboss.cdi.tck.tests.context.request.event.RequestScopeEventTest">
         <methods><include name=".*"/></methods>
diff --git a/tck/cdi-tomee/pom.xml b/tck/cdi-tomee/pom.xml
index c7b0de6..3f9c1c4 100644
--- a/tck/cdi-tomee/pom.xml
+++ b/tck/cdi-tomee/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -225,7 +225,7 @@
           <reuseForks>true</reuseForks>
           <forkCount>1</forkCount>
           <useFile>false</useFile>
-          <disableXmlReport>true</disableXmlReport>
+          <disableXmlReport>false</disableXmlReport>
           <suiteXmlFiles>
             <suiteXmlFile>src/test/resources/${suite.name}.xml</suiteXmlFile>
           </suiteXmlFiles>
diff --git a/tck/microprofile-tck/config/pom.xml b/tck/microprofile-tck/config/pom.xml
index 7c224b6..1a95f0a 100644
--- a/tck/microprofile-tck/config/pom.xml
+++ b/tck/microprofile-tck/config/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-config-tck</artifactId>
diff --git a/tck/microprofile-tck/fault-tolerance/pom.xml b/tck/microprofile-tck/fault-tolerance/pom.xml
index 09bb648..e46b92a 100644
--- a/tck/microprofile-tck/fault-tolerance/pom.xml
+++ b/tck/microprofile-tck/fault-tolerance/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-fault-tolerance-tck</artifactId>
diff --git a/tck/microprofile-tck/health/pom.xml b/tck/microprofile-tck/health/pom.xml
index 2db0f28..824a51b 100644
--- a/tck/microprofile-tck/health/pom.xml
+++ b/tck/microprofile-tck/health/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-health-tck</artifactId>
diff --git a/tck/microprofile-tck/jwt/pom.xml b/tck/microprofile-tck/jwt/pom.xml
index 603de5b..0436277 100644
--- a/tck/microprofile-tck/jwt/pom.xml
+++ b/tck/microprofile-tck/jwt/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>microprofile-jwt-tck</artifactId>
@@ -78,7 +78,6 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>${johnzon.version}</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/tck/microprofile-tck/metrics/pom.xml b/tck/microprofile-tck/metrics/pom.xml
index 447ec0a..de8e615 100644
--- a/tck/microprofile-tck/metrics/pom.xml
+++ b/tck/microprofile-tck/metrics/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-metrics-tck</artifactId>
diff --git a/tck/microprofile-tck/openapi/pom.xml b/tck/microprofile-tck/openapi/pom.xml
index bb64e68..39c5687 100644
--- a/tck/microprofile-tck/openapi/pom.xml
+++ b/tck/microprofile-tck/openapi/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-openapi-tck</artifactId>
diff --git a/tck/microprofile-tck/opentracing/pom.xml b/tck/microprofile-tck/opentracing/pom.xml
index c30b86c..95fbc3c 100644
--- a/tck/microprofile-tck/opentracing/pom.xml
+++ b/tck/microprofile-tck/opentracing/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-opentracing-tck</artifactId>
diff --git a/tck/microprofile-tck/pom.xml b/tck/microprofile-tck/pom.xml
index d6a3971..53e8e5b 100644
--- a/tck/microprofile-tck/pom.xml
+++ b/tck/microprofile-tck/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-tck</artifactId>
diff --git a/tck/microprofile-tck/rest-client/pom.xml b/tck/microprofile-tck/rest-client/pom.xml
index d45b58b..c3c96a1 100644
--- a/tck/microprofile-tck/rest-client/pom.xml
+++ b/tck/microprofile-tck/rest-client/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache.tomee</groupId>
     <artifactId>microprofile-tck</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>microprofile-rest-client-tck</artifactId>
@@ -238,7 +238,6 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-core</artifactId>
-      <version>${johnzon.version}</version>
       <scope>test</scope>
     </dependency>
 
diff --git a/tck/pom.xml b/tck/pom.xml
index 97c994d..b313d72 100644
--- a/tck/pom.xml
+++ b/tck/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tck</artifactId>
diff --git a/tck/tck-common/pom.xml b/tck/tck-common/pom.xml
index 42be650..374f3ef 100644
--- a/tck/tck-common/pom.xml
+++ b/tck/tck-common/pom.xml
@@ -19,7 +19,7 @@
   <parent>
     <artifactId>tck</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tck-common</artifactId>
@@ -79,7 +79,7 @@
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>
           <useFile>false</useFile>
-          <disableXmlReport>true</disableXmlReport>
+          <disableXmlReport>false</disableXmlReport>
         </configuration>
       </plugin>
     </plugins>
diff --git a/tomee/apache-tomee/pom.xml b/tomee/apache-tomee/pom.xml
index 49b149b..ba3b706 100644
--- a/tomee/apache-tomee/pom.xml
+++ b/tomee/apache-tomee/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/pom.xml b/tomee/pom.xml
index 5a2966c..c100496 100644
--- a/tomee/pom.xml
+++ b/tomee/pom.xml
@@ -25,7 +25,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   
   <artifactId>tomee</artifactId>
diff --git a/tomee/tomee-bootstrap/pom.xml b/tomee/tomee-bootstrap/pom.xml
index 20f38d4..4d57f22 100644
--- a/tomee/tomee-bootstrap/pom.xml
+++ b/tomee/tomee-bootstrap/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -36,6 +36,35 @@
     <tomee.build.name>${project.groupId}.tomee.catalina</tomee.build.name>
   </properties>
 
+  <build>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <filtering>true</filtering>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>3.0.0</version>
+        <executions>
+          <execution>
+            <!--<phase>package</phase>-->
+            <goals>
+              <goal>java</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <includeProjectDependencies>true</includeProjectDependencies>
+          <includePluginDependencies>false</includePluginDependencies>
+          <classpathScope>test</classpathScope>
+          <mainClass>org.apache.tomee.bootstrap.GenerateBoms</mainClass>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
   <dependencies>
     <dependency>
       <groupId>org.apache.tomcat</groupId>
diff --git a/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/GenerateBoms.java b/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/GenerateBoms.java
index 735350f..215aab7 100644
--- a/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/GenerateBoms.java
+++ b/tomee/tomee-bootstrap/src/test/java/org/apache/tomee/bootstrap/GenerateBoms.java
@@ -521,21 +521,18 @@
          * and all such data would be in the parent pom.
          */
         public String asBomDep() {
-            final String g = groupId;
-            final String a = artifactId;
-            final String v = version;
             return "" +
-                    "    <dependency>\n" +
-                    "      <groupId>" + g + "</groupId>\n" +
-                    "      <artifactId>" + a + "</artifactId>\n" +
-                    "      <version>" + v + "</version>\n" +
-                    "      <exclusions>\n" +
-                    "        <exclusion>\n" +
-                    "          <artifactId>*</artifactId>\n" +
-                    "          <groupId>*</groupId>\n" +
-                    "        </exclusion>\n" +
-                    "      </exclusions>\n" +
-                    "    </dependency>\n";
+                   "    <dependency>\n" +
+                   "      <groupId>" + groupId + "</groupId>\n" +
+                   "      <artifactId>" + artifactId + "</artifactId>\n" +
+                   "      <version>" + version + "</version>\n" +
+                   "      <exclusions>\n" +
+                   "        <exclusion>\n" +
+                   "          <artifactId>*</artifactId>\n" +
+                   "          <groupId>*</groupId>\n" +
+                   "        </exclusion>\n" +
+                   "      </exclusions>\n" +
+                   "    </dependency>\n";
         }
 
         /**
@@ -544,15 +541,12 @@
          * the dependencies needed, but not duplicate the version information.
          */
         public String asManagedDep() {
-            final String g = groupId;
-            final String a = artifactId;
-            final String v = version;
             return "" +
-                    "    <dependency>\n" +
-                    "      <groupId>" + g + "</groupId>\n" +
-                    "      <artifactId>" + a + "</artifactId>\n" +
-                    "      <version>" + v + "</version>\n" +
-                    "    </dependency>\n";
+                   "    <dependency>\n" +
+                   "      <groupId>" + groupId + "</groupId>\n" +
+                   "      <artifactId>" + artifactId + "</artifactId>\n" +
+                   "      <version>" + version + "</version>\n" +
+                   "    </dependency>\n";
         }
     }
 
diff --git a/tomee/tomee-bootstrap/src/test/resources/pom-template.xml b/tomee/tomee-bootstrap/src/test/resources/pom-template.xml
index d357b9f..0560f01 100644
--- a/tomee/tomee-bootstrap/src/test/resources/pom-template.xml
+++ b/tomee/tomee-bootstrap/src/test/resources/pom-template.xml
@@ -31,7 +31,7 @@
   <parent>
     <groupId>org.apache.tomee.bom</groupId>
     <artifactId>boms</artifactId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>${project.version}</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-catalina/pom.xml b/tomee/tomee-catalina/pom.xml
index cd50eaa..8b2552a 100644
--- a/tomee/tomee-catalina/pom.xml
+++ b/tomee/tomee-catalina/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -46,19 +46,6 @@
     </plugins>
   </reporting>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.tomcat/ServerClassLoader</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
diff --git a/tomee/tomee-common/pom.xml b/tomee/tomee-common/pom.xml
index 5e06cc0..3d00d45 100644
--- a/tomee/tomee-common/pom.xml
+++ b/tomee/tomee-common/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tomee-common</artifactId>
diff --git a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
index 2cc8008..df409c5 100644
--- a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
+++ b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
@@ -234,6 +234,22 @@
         if (!tomeeXml.exists()) {
             Installers.writeAll(tomeeXml,
                     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+                            "<!--\n" +
+                            "    Licensed to the Apache Software Foundation (ASF) under one or more\n" +
+                            "    contributor license agreements.  See the NOTICE file distributed with\n" +
+                            "    this work for additional information regarding copyright ownership.\n" +
+                            "    The ASF licenses this file to You under the Apache License, Version 2.0\n" +
+                            "    (the \"License\"); you may not use this file except in compliance with\n" +
+                            "    the License.  You may obtain a copy of the License at\n" +
+                            "\n" +
+                            "       http://www.apache.org/licenses/LICENSE-2.0\n" +
+                            "\n" +
+                            "    Unless required by applicable law or agreed to in writing, software\n" +
+                            "    distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
+                            "    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
+                            "    See the License for the specific language governing permissions and\n" +
+                            "    limitations under the License.\n" +
+                            "-->\n" +
                             "<tomee>\n" +
                             "  <!-- see http://tomee.apache.org/containers-and-resources.html -->\n\n" +
                             "  <!-- activate next line to be able to deploy applications in apps -->\n" +
@@ -705,6 +721,23 @@
             try {
                 systemPropertiesWriter = new FileWriter(openejbSystemProperties);
 
+                systemPropertiesWriter.write("# Licensed to the Apache Software Foundation (ASF) under one or more\n" +
+                                             "# contributor license agreements.  See the NOTICE file distributed with\n" +
+                                             "# this work for additional information regarding copyright ownership.\n" +
+                                             "# The ASF licenses this file to You under the Apache License, Version 2.0\n" +
+                                             "# (the \"License\"); you may not use this file except in compliance with\n" +
+                                             "# the License.  You may obtain a copy of the License at\n" +
+                                             "#\n" +
+                                             "#     http://www.apache.org/licenses/LICENSE-2.0\n" +
+                                             "#\n" +
+                                             "# Unless required by applicable law or agreed to in writing, software\n" +
+                                             "# distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
+                                             "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
+                                             "# See the License for the specific language governing permissions and\n" +
+                                             "# limitations under the License.\n" +
+                                             "\n");
+
+
                 systemPropertiesWriter.write("# all this properties are added at JVM system properties at startup\n");
                 systemPropertiesWriter.write("# here some default Apache TomEE system properties\n");
                 systemPropertiesWriter.write("# for more information please see http://tomee.apache.org/properties-listing.html\n");
diff --git a/tomee/tomee-config/pom.xml b/tomee/tomee-config/pom.xml
index 8db597f..80bca5b 100644
--- a/tomee/tomee-config/pom.xml
+++ b/tomee/tomee-config/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-embedded/pom.xml b/tomee/tomee-embedded/pom.xml
index 7b4b3c8..1650151 100644
--- a/tomee/tomee-embedded/pom.xml
+++ b/tomee/tomee-embedded/pom.xml
@@ -24,22 +24,18 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tomee-embedded</artifactId>
   <packaging>jar</packaging>
   <name>TomEE :: TomEE :: TomEE Embedded</name>
-  <version>8.0.5-SNAPSHOT</version>
+  <version>8.0.7-SNAPSHOT</version>
 
   <build>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
@@ -332,13 +328,16 @@
       <groupId>commons-beanutils</groupId>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
-    <!--<dependency>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-    </dependency>-->
     <dependency>
       <groupId>org.apache.tomcat</groupId>
       <artifactId>tomcat-jdbc</artifactId>
diff --git a/tomee/tomee-jaxrs/pom.xml b/tomee/tomee-jaxrs/pom.xml
index b194f0b..f774357 100644
--- a/tomee/tomee-jaxrs/pom.xml
+++ b/tomee/tomee-jaxrs/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-jdbc/pom.xml b/tomee/tomee-jdbc/pom.xml
index cbca1b9..b9e2cab 100644
--- a/tomee/tomee-jdbc/pom.xml
+++ b/tomee/tomee-jdbc/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatDataSourceConfigurationTest.java b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatDataSourceConfigurationTest.java
new file mode 100644
index 0000000..42e9d24
--- /dev/null
+++ b/tomee/tomee-jdbc/src/test/java/org/apache/tomee/jdbc/TomcatDataSourceConfigurationTest.java
@@ -0,0 +1,85 @@
+/**
+ * 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
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * 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.
+ */
+package org.apache.tomee.jdbc;
+
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.resource.jdbc.managed.local.ManagedDataSource;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.apache.tomcat.jdbc.pool.PoolConfiguration;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+import java.util.Properties;
+
+import static org.junit.Assert.*;
+
+@RunWith(ApplicationComposer.class)
+public class TomcatDataSourceConfigurationTest {
+    @Resource(name = "test")
+    private DataSource ds;
+
+    @Module
+    public EjbJar mandatory() {
+        return new EjbJar();
+    }
+
+    @Configuration
+    public Properties props() {
+        final String prefix = getClass().getSimpleName();
+        return new PropertiesBuilder()
+                .p("openejb.jdbc.datasource-creator", TomEEDataSourceCreator.class.getName())
+                .p(prefix, "new://Resource?type=DataSource&name=test")
+                .p(prefix + ".JdbcDriver", "org.hsqldb.jdbcDriver")
+                .p(prefix + ".JdbcUrl", "jdbc:hsqldb:mem:tomeeDSConfigTest")
+                .p(prefix + ".InitialSize", "15")
+                .p(prefix + ".JtaManaged", "true")
+                .p(prefix + ".MaxWait", "5000")
+                .p(prefix + ".MinEvictableIdleTimeMillis", "7200000")
+                .p(prefix + ".TimeBetweenEvictionRuns", "7300000")
+                .p(prefix + ".password", "tiger...}")
+                .build();
+    }
+
+    /*
+     * TOMEE-2125 and TOMEE-2968
+     */
+    @Test
+    public void testPoolConfiguration() {
+        assertNotNull(ds);
+        final TomEEDataSourceCreator.TomEEDataSource tds = TomEEDataSourceCreator.TomEEDataSource.class.cast(ManagedDataSource.class.cast(ds).getDelegate());
+
+        assertNotNull(tds);
+
+        PoolConfiguration poolConfig = tds.getPool().getPoolProperties();
+        assertNotNull(poolConfig);
+        assertEquals("test", poolConfig.getName());
+        assertEquals("jdbc:hsqldb:mem:tomeeDSConfigTest", poolConfig.getUrl());
+        assertEquals("org.hsqldb.jdbcDriver", poolConfig.getDriverClassName());
+        assertEquals("test", poolConfig.getName());
+        assertEquals(5000, poolConfig.getMaxWait());
+        assertEquals(7200000, poolConfig.getMinEvictableIdleTimeMillis());
+        assertEquals(7300000, poolConfig.getTimeBetweenEvictionRunsMillis());
+        assertEquals("tiger...}", poolConfig.getPassword());
+    }
+
+
+}
diff --git a/tomee/tomee-juli/pom.xml b/tomee/tomee-juli/pom.xml
index d34cd42..719fc45 100644
--- a/tomee/tomee-juli/pom.xml
+++ b/tomee/tomee-juli/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-loader/pom.xml b/tomee/tomee-loader/pom.xml
index af0b1be..7a97530 100644
--- a/tomee/tomee-loader/pom.xml
+++ b/tomee/tomee-loader/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-microprofile/mp-common/pom.xml b/tomee/tomee-microprofile/mp-common/pom.xml
index d899a12..f5da14f 100644
--- a/tomee/tomee-microprofile/mp-common/pom.xml
+++ b/tomee/tomee-microprofile/mp-common/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee-microprofile</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-microprofile/pom.xml b/tomee/tomee-microprofile/pom.xml
index a13fd79..0ab482b 100644
--- a/tomee/tomee-microprofile/pom.xml
+++ b/tomee/tomee-microprofile/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <artifactId>tomee</artifactId>
         <groupId>org.apache.tomee</groupId>
-        <version>8.0.5-SNAPSHOT</version>
+        <version>8.0.7-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-microprofile/tomee-microprofile-webapp/pom.xml b/tomee/tomee-microprofile/tomee-microprofile-webapp/pom.xml
index bf17ce3..c3b076b 100644
--- a/tomee/tomee-microprofile/tomee-microprofile-webapp/pom.xml
+++ b/tomee/tomee-microprofile/tomee-microprofile-webapp/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee-microprofile</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-mojarra/pom.xml b/tomee/tomee-mojarra/pom.xml
index a0f38ba..b117fb6 100644
--- a/tomee/tomee-mojarra/pom.xml
+++ b/tomee/tomee-mojarra/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-myfaces/pom.xml b/tomee/tomee-myfaces/pom.xml
index c83dae7..3bb4329 100644
--- a/tomee/tomee-myfaces/pom.xml
+++ b/tomee/tomee-myfaces/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>tomee-myfaces</artifactId>
diff --git a/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProvider.java b/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProvider.java
deleted file mode 100644
index 3641b21..0000000
--- a/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProvider.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee.myfaces;
-
-import org.apache.myfaces.config.DefaultFacesConfigurationProvider;
-import org.apache.myfaces.config.element.FacesConfig;
-import org.apache.openejb.loader.IO;
-
-import javax.faces.context.ExternalContext;
-import java.io.InputStream;
-
-// TODO remove after MYFACES-4313 / MyFaces 2.3.7
-public class TomEEFacesConfigurationProvider extends DefaultFacesConfigurationProvider {
-    @Override
-    public FacesConfig getWebAppFacesConfig(final ExternalContext ectx) {
-        final InputStream stream = ectx.getResourceAsStream("/WEB-INF/faces-config.xml");
-        if (stream != null && isEmpty(stream)) {
-            return new org.apache.myfaces.config.impl.digester.elements.FacesConfig();
-        }
-        // we can't just check the emptyness after the exception
-        // because otherwise an exception is logged because of the parser error handler
-        return super.getWebAppFacesConfig(ectx);
-    }
-
-    private static boolean isEmpty(final InputStream stream) {
-        try {
-            final String content = IO.slurp(stream);
-            return content.trim().length() == 0;
-        } catch (final Exception e) {
-            return false;
-        }
-    }
-}
diff --git a/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProviderFactory.java b/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProviderFactory.java
deleted file mode 100644
index 125c5c1..0000000
--- a/tomee/tomee-myfaces/src/main/java/org/apache/tomee/myfaces/TomEEFacesConfigurationProviderFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * 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.
- */
-package org.apache.tomee.myfaces;
-
-import org.apache.myfaces.shared.util.ClassUtils;
-import org.apache.myfaces.spi.FacesConfigurationProvider;
-import org.apache.myfaces.spi.ServiceProviderFinderFactory;
-import org.apache.myfaces.spi.impl.DefaultFacesConfigurationProviderFactory;
-
-import javax.faces.FacesException;
-import javax.faces.context.ExternalContext;
-import java.lang.reflect.InvocationTargetException;
-import java.security.PrivilegedActionException;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-// TODO remove after MYFACES-4313 / MyFaces 2.3.7
-// fork to be able to not fail on empty faces-config.xml
-public class TomEEFacesConfigurationProviderFactory extends DefaultFacesConfigurationProviderFactory {
-    public static final String FACES_CONFIGURATION_PROVIDER = FacesConfigurationProvider.class.getName();
-    public static final String FACES_CONFIGURATION_PROVIDER_LIST = FacesConfigurationProvider.class.getName()+".LIST";
-    public static final String FACES_CONFIGURATION_PROVIDER_INSTANCE_KEY = FacesConfigurationProvider.class.getName() + ".INSTANCE";
-
-    private Logger getLogger() {
-        return Logger.getLogger(DefaultFacesConfigurationProviderFactory.class.getName());
-    }
-
-    @Override
-    public FacesConfigurationProvider getFacesConfigurationProvider(final ExternalContext externalContext) {
-        FacesConfigurationProvider returnValue = (FacesConfigurationProvider) externalContext.getApplicationMap().get(FACES_CONFIGURATION_PROVIDER_INSTANCE_KEY);
-        if (returnValue == null) {
-            final ExternalContext extContext = externalContext;
-            try {
-                returnValue = resolveFacesConfigurationProviderFromService(extContext);
-                externalContext.getApplicationMap().put(FACES_CONFIGURATION_PROVIDER_INSTANCE_KEY, returnValue);
-            } catch (final ClassNotFoundException | NoClassDefFoundError e) {
-                // ignore
-            } catch (final InstantiationException | InvocationTargetException | IllegalAccessException e) {
-                getLogger().log(Level.SEVERE, "", e);
-            } catch (final PrivilegedActionException e) {
-                throw new FacesException(e);
-            }
-        }
-
-
-        return returnValue;
-    }
-
-    private FacesConfigurationProvider resolveFacesConfigurationProviderFromService(final ExternalContext externalContext)
-            throws ClassNotFoundException, NoClassDefFoundError, InstantiationException, IllegalAccessException, InvocationTargetException, PrivilegedActionException {
-        List<String> classList = (List<String>) externalContext.getApplicationMap().get(FACES_CONFIGURATION_PROVIDER_LIST);
-        if (classList == null) {
-            classList = ServiceProviderFinderFactory.getServiceProviderFinder(externalContext).getServiceProviderList(FACES_CONFIGURATION_PROVIDER);
-            externalContext.getApplicationMap().put(FACES_CONFIGURATION_PROVIDER_LIST, classList);
-        }
-        return ClassUtils.buildApplicationObject(FacesConfigurationProvider.class, classList, new TomEEFacesConfigurationProvider());
-    }
-}
diff --git a/tomee/tomee-myfaces/src/main/resources/META-INF/services/org.apache.myfaces.spi.FacesConfigurationProviderFactory b/tomee/tomee-myfaces/src/main/resources/META-INF/services/org.apache.myfaces.spi.FacesConfigurationProviderFactory
deleted file mode 100644
index e5b0160..0000000
--- a/tomee/tomee-myfaces/src/main/resources/META-INF/services/org.apache.myfaces.spi.FacesConfigurationProviderFactory
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.tomee.myfaces.TomEEFacesConfigurationProviderFactory
diff --git a/tomee/tomee-overlay-runner/pom.xml b/tomee/tomee-overlay-runner/pom.xml
index 7279ccc..2aed0bc 100644
--- a/tomee/tomee-overlay-runner/pom.xml
+++ b/tomee/tomee-overlay-runner/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-plume-webapp/pom.xml b/tomee/tomee-plume-webapp/pom.xml
index c197291..db57087 100644
--- a/tomee/tomee-plume-webapp/pom.xml
+++ b/tomee/tomee-plume-webapp/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
@@ -41,6 +41,7 @@
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>openejb-core-eclipselink</artifactId>
+      <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>org.glassfish</groupId>
@@ -191,6 +192,20 @@
 
   <build>
     <plugins>
+      <!-- Looks like the war still have myfaces because of the overlay with tomee-webapp -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>3.1.0</version>
+        <configuration>
+          <dependentWarExcludes>
+            %regex[(WEB-INF/)?lib/(tomee-)?myfaces(-api|-impl)?-.*.jar],
+          </dependentWarExcludes>
+          <packagingExcludes>
+            %regex[(WEB-INF/)?lib/(tomee-)?myfaces(-api|-impl)?-.*.jar],
+          </packagingExcludes>
+        </configuration>
+      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
diff --git a/tomee/tomee-plume-webapp/src/main/assembly/war.xml b/tomee/tomee-plume-webapp/src/main/assembly/war.xml
index 3b609f8..9ecfa25 100644
--- a/tomee/tomee-plume-webapp/src/main/assembly/war.xml
+++ b/tomee/tomee-plume-webapp/src/main/assembly/war.xml
@@ -66,11 +66,12 @@
         <include>**/*.html</include>
         <include>**/*.css</include>
         <include>**/*.js</include>
+        <!-- libs are handled with dependencies because exclude don't work too well bellow -->
+        <!-- if some deps are missing, they should be added as project dependencies -->
         <include>lib/*.jar</include>
       </includes>
       <excludes>
-        <exclude>lib/myfaces*.jar</exclude>
-        <exclude>lib/tomee-myfaces*.jar</exclude>
+        <exclude>%regex[(WEB-INF/)?lib/(tomee-)?myfaces(-api|-impl)?-.*.jar]</exclude>
       </excludes>
     </fileSet>
   </fileSets>
@@ -78,6 +79,8 @@
     <dependencySet>
       <outputDirectory>lib</outputDirectory>
       <scope>runtime</scope>
+      <useTransitiveDependencies>true</useTransitiveDependencies>
+      <useTransitiveFiltering>true</useTransitiveFiltering>
       <excludes>
         <!-- provided -->
         <exclude>org.apache.tomcat:*</exclude>
diff --git a/tomee/tomee-plus-webapp/pom.xml b/tomee/tomee-plus-webapp/pom.xml
index df9cedd..c89cb65 100644
--- a/tomee/tomee-plus-webapp/pom.xml
+++ b/tomee/tomee-plus-webapp/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-security/pom.xml b/tomee/tomee-security/pom.xml
index a8d9b4c..43adfe0 100644
--- a/tomee/tomee-security/pom.xml
+++ b/tomee/tomee-security/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/tomee/tomee-security/src/main/java/org/apache/tomee/security/identitystore/TomEEDatabaseIdentityStore.java b/tomee/tomee-security/src/main/java/org/apache/tomee/security/identitystore/TomEEDatabaseIdentityStore.java
index de34da6..e52e3f5 100644
--- a/tomee/tomee-security/src/main/java/org/apache/tomee/security/identitystore/TomEEDatabaseIdentityStore.java
+++ b/tomee/tomee-security/src/main/java/org/apache/tomee/security/identitystore/TomEEDatabaseIdentityStore.java
@@ -16,8 +16,6 @@
  */
 package org.apache.tomee.security.identitystore;
 
-import org.apache.openjpa.lib.util.StringUtil;
-
 import javax.annotation.PostConstruct;
 import javax.el.ELProcessor;
 import javax.enterprise.context.ApplicationScoped;
@@ -160,7 +158,7 @@
     }
 
     public static DataSource lookup(final String name) {
-        if (StringUtil.isEmpty(name)) {
+        if (name == null || name.trim().equals("")) {
             throw new RuntimeException(
                 "Can't lookup datasource because dataSourceLookup is null/empty in DatabaseIdentityStoreDefinition.");
         }
diff --git a/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/CallbackHandlerImpl.java b/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/CallbackHandlerImpl.java
deleted file mode 100644
index b40d7bc..0000000
--- a/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/CallbackHandlerImpl.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * 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.
- */
-package org.apache.tomee.security.provider;
-
-import org.apache.catalina.Contained;
-import org.apache.catalina.Container;
-import org.apache.catalina.realm.GenericPrincipal;
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.res.StringManager;
-
-import javax.security.auth.Subject;
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import javax.security.auth.message.callback.CallerPrincipalCallback;
-import javax.security.auth.message.callback.GroupPrincipalCallback;
-import javax.security.auth.message.callback.PasswordValidationCallback;
-import java.io.IOException;
-import java.security.Principal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * This is a clone of Tomcat default callback handler but with a better handling of the Generic Principals when more than
- * one callback is used.
- *
- * For instance https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java#L96
- * keeps adding new Generic Principals even for the same name whereas the authenticator base
- * https://github.com/apache/tomcat/blob/master/java/org/apache/catalina/authenticator/AuthenticatorBase.java#L956
- * randomly picks the first one. So it results in random failures
- */
-public class CallbackHandlerImpl implements CallbackHandler, Contained {
-
-    private static final StringManager sm = StringManager.getManager(
-        org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.class);
-    private final Log log = LogFactory.getLog(org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.class); // must not be static
-
-    private Container container;
-
-
-    @Override
-    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-
-        String name = null;
-        Principal principal = null;
-        Subject subject = null;
-        String[] groups = null;
-
-        if (callbacks != null) {
-            // Need to combine data from multiple callbacks so use this to hold
-            // the data
-            // Process the callbacks
-            for (Callback callback : callbacks) {
-                if (callback instanceof CallerPrincipalCallback) {
-                    CallerPrincipalCallback cpc = (CallerPrincipalCallback) callback;
-                    name = cpc.getName();
-                    principal = cpc.getPrincipal();
-                    subject = cpc.getSubject();
-                } else if (callback instanceof GroupPrincipalCallback) {
-                    GroupPrincipalCallback gpc = (GroupPrincipalCallback) callback;
-                    groups = gpc.getGroups();
-                } else if (callback instanceof PasswordValidationCallback) {
-                    if (container == null) {
-                        log.warn(sm.getString("callbackHandlerImpl.containerMissing", callback.getClass().getName()));
-                    } else if (container.getRealm() == null) {
-                        log.warn(sm.getString("callbackHandlerImpl.realmMissing",
-                                              callback.getClass().getName(), container.getName()));
-                    } else {
-                        PasswordValidationCallback pvc = (PasswordValidationCallback) callback;
-                        principal = container.getRealm().authenticate(pvc.getUsername(),
-                                                                      String.valueOf(pvc.getPassword()));
-                        subject = pvc.getSubject();
-                    }
-                } else {
-                    log.error(sm.getString("callbackHandlerImpl.jaspicCallbackMissing",
-                            callback.getClass().getName()));
-                }
-            }
-
-            // Create the GenericPrincipal
-            Principal gp = getPrincipal(principal, name, groups);
-            if (subject != null && gp != null) {
-
-                // merge if needed
-                String mergeName = gp.getName();
-                List<String> mergeRoles = new ArrayList<>(Arrays.asList(((GenericPrincipal) gp).getRoles()));
-                Principal mergePrincipal = ((GenericPrincipal) gp).getUserPrincipal();
-
-                for (Object oPrincipal : subject.getPrivateCredentials()) {
-                    if (!(oPrincipal instanceof GenericPrincipal)) {
-                        continue;
-                    }
-                    final GenericPrincipal privateCredential = (GenericPrincipal) oPrincipal;
-                    if (mergeName != null && mergeName.equals(privateCredential.getName())) {
-                        mergeRoles.addAll(Arrays.asList(privateCredential.getRoles()));
-                        subject.getPrivateCredentials().remove(oPrincipal);
-                    }
-                }
-
-                subject.getPrivateCredentials().add(new GenericPrincipal(mergeName, null, mergeRoles, mergePrincipal));
-            }
-        }
-    }
-
-    private Principal getPrincipal(Principal principal, String name, String[] groups) {
-        // If the Principal is cached in the session JASPIC may simply return it
-        if (principal instanceof GenericPrincipal) {
-            return principal;
-        }
-        if (name == null && principal != null) {
-            name = principal.getName();
-        }
-        if (name == null) {
-            return null;
-        }
-        List<String> roles;
-        if (groups == null || groups.length == 0) {
-            roles = Collections.emptyList();
-        } else {
-            roles = Arrays.asList(groups);
-        }
-
-        return new GenericPrincipal(name, null, roles, principal);
-    }
-
-    // Contained interface methods
-    @Override
-    public Container getContainer() {
-        return this.container;
-    }
-
-
-    @Override
-    public void setContainer(Container container) {
-        this.container = container;
-    }
-}
diff --git a/tomee/tomee-util/pom.xml b/tomee/tomee-util/pom.xml
index 9cf02c4..b35713a 100644
--- a/tomee/tomee-util/pom.xml
+++ b/tomee/tomee-util/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/tomee/tomee-webaccess/pom.xml b/tomee/tomee-webaccess/pom.xml
index 57950f9..a9caff0 100644
--- a/tomee/tomee-webaccess/pom.xml
+++ b/tomee/tomee-webaccess/pom.xml
@@ -17,7 +17,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <artifactId>tomee-webaccess</artifactId>
   <packaging>war</packaging>
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/container.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/container.handlebars
index ed1be6f..847c9b6 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/container.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/container.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <nav class="navbar navbar-inverse navbar-fixed-top">
     <div class="navbar-header">
         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex8-collapse">
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/contexts.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/contexts.handlebars
index d9745c2..b9aacb9 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/contexts.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/contexts.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="ux-contexts-panel panel panel-default">
     <div class="panel-heading">
         <h3 class="panel-title">{{i18n "contexts"}}</h3>
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl-container.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl-container.handlebars
index 76dea29..15836e1 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl-container.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl-container.handlebars
@@ -1,2 +1,18 @@
+<!--
+  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.
+-->
 <div class="growl-container">
 </div>
\ No newline at end of file
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl.handlebars
index 0d92d36..cfa81e2 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/growl.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="growl alert alert-block {{messageType}}">
     <button type="button" class="close" data-dismiss="alert">×</button>
     <div class="message">{{messageText}}</div>
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfile-link.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfile-link.handlebars
index c16a247..22c5f95 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfile-link.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfile-link.handlebars
@@ -1 +1,17 @@
+<!--
+  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.
+-->
 <li><a class="ux-log-file-link" href="{{href}}">{{href}}</a></li>
\ No newline at end of file
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfiles.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfiles.handlebars
index bceacf1..e02a0c4 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfiles.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/logfiles.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="panel panel-default ux-logfile-output">
     <div class="panel-heading">
         <h3 class="panel-title">
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-groovy.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-groovy.handlebars
index 6a7ca40..7ceae55 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-groovy.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-groovy.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 ctx.list('').each {
   println "[entry] ${it.name}"
 }
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-javascript.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-javascript.handlebars
index 5292825..62ea4b5 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-javascript.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/script-sample-javascript.handlebars
@@ -1,6 +1,22 @@
+<!--
+  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.
+-->
 var pairs = ctx.list('');
 while(pairs.hasMore()) {
-  println('[entry] ' + pairs.next().getName());
+  print('[entry] ' + pairs.next().getName());
 }
 var user = ctx.lookup('java:comp/EJBContext').getCallerPrincipal().getName();
-println("Logged user: '" + user + "'");
\ No newline at end of file
+print("Logged user: '" + user + "'");
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting-user.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting-user.handlebars
index 186e912..92788a8 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting-user.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting-user.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <form role="form">
     <div class="form-group">
         <input type="text" class="form-control ux-context-user" placeholder="{{i18n 'scripting.user.name'}}">
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars
index f0dde4e..f6a8edb 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/scripting.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="panel panel-default ux-script ux-script-output ux-normal">
     <div class="panel-heading">
         <h3 class="panel-title">{{i18n "output"}}</h3>
diff --git a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/sessions.handlebars b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/sessions.handlebars
index 5b9ffb1..7374785 100644
--- a/tomee/tomee-webaccess/src/main/webapp/app/js/templates/sessions.handlebars
+++ b/tomee/tomee-webaccess/src/main/webapp/app/js/templates/sessions.handlebars
@@ -1,3 +1,19 @@
+<!--
+  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.
+-->
 <div class="ux-sessions-panel panel panel-default">
     <div class="panel-heading">
         <h3 class="panel-title">{{i18n "sessions"}}</h3>
diff --git a/tomee/tomee-webapp/pom.xml b/tomee/tomee-webapp/pom.xml
index e4633c7..15bb62c 100644
--- a/tomee/tomee-webapp/pom.xml
+++ b/tomee/tomee-webapp/pom.xml
@@ -24,7 +24,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tomee-webapp</artifactId>
@@ -117,6 +117,7 @@
           </sourceFolders>
         </configuration>
       </plugin>
+
     </plugins>
   </build>
   <dependencies>
@@ -172,13 +173,16 @@
       <version>${commons-beanutils.version}</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.taglibs</groupId>
-      <artifactId>taglibs-standard-jstlel</artifactId>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>taglibs-shade</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
-    <!--<dependency>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-    </dependency>-->
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>javaee-api</artifactId>
@@ -396,5 +400,9 @@
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.apache.johnzon</groupId>
+      <artifactId>johnzon-jsonp-strict</artifactId>
+    </dependency>
   </dependencies>
 </project>
diff --git a/tomee/tomee-webservices/pom.xml b/tomee/tomee-webservices/pom.xml
index b4d5f97..a4dfbe7 100644
--- a/tomee/tomee-webservices/pom.xml
+++ b/tomee/tomee-webservices/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>tomee</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>tomee-webservices</artifactId>
@@ -33,19 +33,6 @@
   <properties>
     <tomee.build.name>${project.groupId}.tomee.webservices</tomee.build.name>
   </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/main/resources/META-INF/org.apache.openejb.tomcat/ServerClassLoader</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
   <dependencies>
     <dependency>
       <groupId>${project.groupId}</groupId>
diff --git a/utils/livereload-tomee/pom.xml b/utils/livereload-tomee/pom.xml
index db72174..7a036dc 100644
--- a/utils/livereload-tomee/pom.xml
+++ b/utils/livereload-tomee/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -46,7 +46,6 @@
     <dependency>
       <groupId>org.apache.johnzon</groupId>
       <artifactId>johnzon-mapper</artifactId>
-      <version>${johnzon.version}</version>
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
diff --git a/utils/log4j2-tomee/pom.xml b/utils/log4j2-tomee/pom.xml
index b4d310a..7f58952 100644
--- a/utils/log4j2-tomee/pom.xml
+++ b/utils/log4j2-tomee/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/utils/openejb-core-eclipselink/pom.xml b/utils/openejb-core-eclipselink/pom.xml
index 478276b..f420322 100644
--- a/utils/openejb-core-eclipselink/pom.xml
+++ b/utils/openejb-core-eclipselink/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/utils/openejb-core-hibernate/pom.xml b/utils/openejb-core-hibernate/pom.xml
index e6aea47..906f6f1 100644
--- a/utils/openejb-core-hibernate/pom.xml
+++ b/utils/openejb-core-hibernate/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>openejb-core-hibernate</artifactId>
diff --git a/utils/openejb-mockito/pom.xml b/utils/openejb-mockito/pom.xml
index b650c1c..e89e1c1 100644
--- a/utils/openejb-mockito/pom.xml
+++ b/utils/openejb-mockito/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/utils/openejb-provisionning/pom.xml b/utils/openejb-provisionning/pom.xml
index 28d6c30..1387722 100644
--- a/utils/openejb-provisionning/pom.xml
+++ b/utils/openejb-provisionning/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/utils/pom.xml b/utils/pom.xml
index d1bd48c..3e06e01 100644
--- a/utils/pom.xml
+++ b/utils/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>tomee-project</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>utils</artifactId>
diff --git a/utils/webdeployer/pom.xml b/utils/webdeployer/pom.xml
index f9b436e..e789603 100644
--- a/utils/webdeployer/pom.xml
+++ b/utils/webdeployer/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <artifactId>utils</artifactId>
     <groupId>org.apache.tomee</groupId>
-    <version>8.0.5-SNAPSHOT</version>
+    <version>8.0.7-SNAPSHOT</version>
   </parent>
 
   <artifactId>webdeployer</artifactId>