Added: tomee/site/trunk/content/latest/examples/multi-jpa-provider-testing.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/latest/examples/multi-jpa-provider-testing.html?rev=1849820&view=auto
==============================================================================
--- tomee/site/trunk/content/latest/examples/multi-jpa-provider-testing.html 
(added)
+++ tomee/site/trunk/content/latest/examples/multi-jpa-provider-testing.html 
Thu Dec 27 22:10:01 2018
@@ -0,0 +1,441 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+       <meta charset="UTF-8">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge">
+       <meta name="viewport" content="width=device-width, initial-scale=1">
+       <title>Apache TomEE</title>
+       <meta name="description"
+                 content="Apache TomEE is a lightweight, yet powerful, JavaEE 
Application server with feature rich tooling." />
+       <meta name="keywords" 
content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian"
 />
+       <meta name="author" content="Luka Cvetinovic for Codrops" />
+       <link rel="icon" href="../../favicon.ico">
+       <link rel="icon"  type="image/png" href="../../favicon.png">
+       <meta name="msapplication-TileColor" content="#80287a">
+       <meta name="theme-color" content="#80287a">
+       <link rel="stylesheet" type="text/css" href="../../css/normalize.css">
+       <link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
+       <link rel="stylesheet" type="text/css" href="../../css/owl.css">
+       <link rel="stylesheet" type="text/css" href="../../css/animate.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/eleganticons/et-icons.css">
+       <link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
+       <link rel="stylesheet" type="text/css" href="../../css/idea.css">
+       <link rel="stylesheet" type="text/css" href="../../css/cardio.css">
+
+       <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 
'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+</head>
+
+<body>
+    <div class="preloader">
+               <img src="../../img/loader.gif" alt="Preloader image">
+       </div>
+           <nav class="navbar">
+               <div class="container">
+                 <div class="row">          <div class="col-md-12">
+
+                       <!-- Brand and toggle get grouped for better mobile 
display -->
+                       <div class="navbar-header">
+                               <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                                       <span class="sr-only">Toggle 
navigation</span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                               </button>
+                               <a class="navbar-brand" href="/">
+                                   <span>
+
+                                   
+                        <img src="../../img/logo-active.png">
+                    
+
+                    </span>
+                                   Apache TomEE
+                </a>
+                       </div>
+                       <!-- Collect the nav links, forms, and other content 
for toggling -->
+                       <div class="collapse navbar-collapse" 
id="bs-example-navbar-collapse-1">
+                               <ul class="nav navbar-nav navbar-right 
main-nav">
+                                       <li><a 
href="../../docs.html">Documentation</a></li>
+                                       <li><a 
href="../../community/index.html">Community</a></li>
+                                       <li><a 
href="../../security/index.html">Security</a></li>
+                                       <li><a 
href="../../download-ng.html">Downloads</a></li>
+                               </ul>
+                       </div>
+                       <!-- /.navbar-collapse -->
+                  </div></div>
+               </div>
+               <!-- /.container-fluid -->
+       </nav>
+
+
+    <div id="main-block" class="container main-block">
+        <div class="row title">
+          <div class="col-md-12">
+            <div class='page-header'>
+              
+              <h1>Multiple JPA providers test</h1>
+            </div>
+          </div>
+        </div>
+        <div class="row">
+            
+            <div class="col-md-12">
+                <p>This test shows how to use multiple JPA providers, 
Hibernate and Openjpa. Using JPA annotations the code can be easily used with 
different implementations. The @Entity class is straight forward, a Person POJO 
with an id and a name, the persistence.xml creates and drop Person table for 
both implementations. The examples and implementations dependency are inside 
test resources, in particularly: arquillian.xml for test purpose, 
hibernate-pom.xml loads hibernate-core dependencies and openjpa-pom.xml loads 
openjpa dependencies. The test inside JPATest.java class is executed twice, 
once for each implementation.</p>
+<h2>@Entity</h2>
+<p>Simple POJO class that follows JPA standard</p>
+<pre><code>import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+@Entity
+public class Person {
+
+    @Id
+    @GeneratedValue
+    private long id;
+
+    private String name;
+
+    public long getId() {
+        return id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}
+</code></pre>
+<h2>persistence.xml</h2>
+<p>Create and drop Person table</p>
+<pre><code>&lt;persistence version=&quot;2.0&quot;
+         xmlns=&quot;http://java.sun.com/xml/ns/persistence&quot;
+         xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
+         xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/persistence
+                   
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd&quot;&gt;
+&lt;persistence-unit name=&quot;jpa&quot;&gt;
+    &lt;jta-data-source&gt;jdbc/jpa&lt;/jta-data-source&gt;
+    &lt;properties&gt;
+    &lt;!--
+        OpenJPA
+    --&gt;
+    &lt;property name=&quot;openjpa.jdbc.SynchronizeMappings&quot; 
value=&quot;buildSchema(ForeignKeys=true)&quot;/&gt;
+
+    &lt;!--
+        Hibernate
+    --&gt;
+    &lt;property name=&quot;hibernate.hbm2ddl.auto&quot; 
value=&quot;create-drop&quot;/&gt;
+    &lt;/properties&gt;
+&lt;/persistence-unit&gt;
+&lt;/persistence&gt;
+</code></pre>
+<h2>JPA test</h2>
+<p>The entity manager is injected through cdi and an Object Person is created 
and inserted into the inmemory database</p>
+<pre><code>import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.transaction.api.annotation.TransactionMode;
+import org.jboss.arquillian.transaction.api.annotation.Transactional;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.superbiz.model.Person;
+
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(Arquillian.class)
+public class JPATest {
+
+    @Deployment
+    public static WebArchive war() {
+        return ShrinkWrap.create(WebArchive.class)
+                .addClass(Person.class)
+                .addAsWebInfResource(new 
ClassLoaderAsset(&quot;META-INF/persistence.xml&quot;), 
ArchivePaths.create(&quot;persistence.xml&quot;));
+    }
+
+    @PersistenceContext
+    private EntityManager em;
+
+    @Test
+    @Transactional(TransactionMode.ROLLBACK)
+    public void persist() {
+        assertNotNull(em);
+
+        // do something with the em
+        final Person p = new Person();
+        p.setName(&quot;Apache OpenEJB&quot;);
+        em.persist(p);
+    }
+}
+</code></pre>
+<p>Inside the example there are no reference to the JPA implementations.</p>
+<h2>Test implementations</h2>
+<p>The test classes inside org.superbiz.enricher package simply load the 
implementation libraries and the test runs twice as described inside the 
pom.xml, a system property variable is used to distinguish between Hibernate 
and OpenJPA.</p>
+<h1>Running</h1>
+<p>Running the example can be done from maven with a simple 'mvn clean 
install' command run from the 'multi-jpa-provider-testing' directory.</p>
+<p>When run you should see output similar to the following.</p>
+<pre><code>-------------------------------------------------------
+T E S T S
+-------------------------------------------------------
+Running org.superbiz.JPATest
+INFO - 
********************************************************************************
+INFO - OpenEJB http://tomee.apache.org/
+INFO - Startup: Wed Dec 26 17:55:31 CET 2018
+INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved.
+INFO - Version: 8.0.0-SNAPSHOT
+INFO - Build date: 20181226
+INFO - Build time: 02:26
+INFO - 
********************************************************************************
+INFO - openejb.home = /tomee/examples/multi-jpa-provider-testing
+INFO - openejb.base = /tomee/examples/multi-jpa-provider-testing
+INFO - Created new singletonService 
org.apache.openejb.cdi.ThreadSingletonServiceImpl@5db45159
+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 - Using &#39;openejb.deployments.classpath=false&#39;
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Using &#39;openejb.classloader.forced-load=org.superbiz.model&#39;
+INFO - Configuring enterprise application: 
/tomee/examples/multi-jpa-provider-testing/413724ac-4a44-48a3-ae4a-db190b95cc62.war
+INFO - Configuring Service(id=Default Managed Container, type=Container, 
provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean 
413724ac-4a44-48a3-ae4a-db190b95cc62_org.superbiz.JPATest: 
Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /tmp for stateful session passivation
+INFO - Configuring PersistenceUnit(name=jpa)
+INFO - Configuring Service(id=Default JDBC Database, type=Resource, 
provider-id=Default JDBC Database)
+INFO - Auto-creating a Resource with id &#39;Default JDBC Database&#39; of 
type &#39;DataSource for &#39;jpa&#39;.
+INFO - Creating Resource(id=Default JDBC Database)
+INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource, 
provider-id=Default Unmanaged JDBC Database)
+INFO - Auto-creating a Resource with id &#39;Default Unmanaged JDBC 
Database&#39; of type &#39;DataSource for &#39;jpa&#39;.
+INFO - Creating Resource(id=Default Unmanaged JDBC Database)
+INFO - Adjusting PersistenceUnit jpa &lt;jta-data-source&gt; to Resource ID 
&#39;Default JDBC Database&#39; from &#39;jdbc/jpa&#39;
+INFO - Adjusting PersistenceUnit jpa &lt;non-jta-data-source&gt; to Resource 
ID &#39;Default Unmanaged JDBC Database&#39; from &#39;null&#39;
+INFO - Using 
&#39;javax.persistence.provider=org.hibernate.ejb.HibernatePersistence&#39;
+INFO - Enterprise application 
&quot;/tomee/examples/multi-jpa-provider-testing/413724ac-4a44-48a3-ae4a-db190b95cc62.war&quot;
 loaded.
+INFO - Assembling app: 
/tomee/examples/multi-jpa-provider-testing/413724ac-4a44-48a3-ae4a-db190b95cc62.war
+INFO - HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
+INFO - HHH000412: Hibernate Core {4.2.18.Final}
+INFO - HHH000206: hibernate.properties not found
+INFO - HHH000021: Bytecode provider name : javassist
+INFO - HHH000204: Processing PersistenceUnitInfo [
+    name: jpa
+    ...]
+INFO - HHH000130: Instantiating explicit connection provider: 
org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
+INFO - HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
+INFO - HHH000268: Transaction strategy: 
org.hibernate.engine.transaction.internal.jta.CMTTransactionFactory
+INFO - HHH000397: Using ASTQueryTranslatorFactory
+INFO - HHH000227: Running hbm2ddl schema export
+INFO - HHH000230: Schema export complete
+INFO - PersistenceUnit(name=jpa, 
provider=org.hibernate.ejb.HibernatePersistence) - provider time 1053ms
+INFO - Existing thread singleton service in SystemInstance(): 
org.apache.openejb.cdi.ThreadSingletonServiceImpl@5db45159
+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 - HV000001: Hibernate Validator 5.1.3.Final
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 194 ms.
+INFO - Deployed 
Application(path=/tomee/examples/multi-jpa-provider-testing/413724ac-4a44-48a3-ae4a-db190b95cc62.war)
+INFO - Undeploying app: 
/tomee/examples/multi-jpa-provider-testing/413724ac-4a44-48a3-ae4a-db190b95cc62.war
+INFO - HHH000227: Running hbm2ddl schema export
+INFO - HHH000230: Schema export complete
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.951 sec - in 
org.superbiz.JPATest
+INFO - Destroying container system
+INFO - Closing DataSource: Default JDBC Database
+INFO - Closing DataSource: Default Unmanaged JDBC Database
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+
+-------------------------------------------------------
+T E S T S
+-------------------------------------------------------
+SUREFIRE-859: 57  classpath-bootstrap  INFO   [main] openjpa.Enhance - You 
have enabled runtime enhancement, but have not specified the set of persistent 
classes.  OpenJPA must look for metadata for every loaded class, which might 
increase class load times significantly.
+353  classpath-bootstrap  INFO   [main] openjpa.Runtime - OpenJPA dynamically 
loaded a validation provider.
+Running org.superbiz.JPATest
+INFO - 
********************************************************************************
+INFO - OpenEJB http://tomee.apache.org/
+INFO - Startup: Wed Dec 26 17:55:35 CET 2018
+INFO - Copyright 1999-2018 (C) Apache OpenEJB Project, All Rights Reserved.
+INFO - Version: 8.0.0-SNAPSHOT
+INFO - Build date: 20181226
+INFO - Build time: 02:26
+INFO - 
********************************************************************************
+INFO - openejb.home = /tomee/examples/multi-jpa-provider-testing
+INFO - openejb.base = /tomee/examples/multi-jpa-provider-testing
+INFO - Created new singletonService 
org.apache.openejb.cdi.ThreadSingletonServiceImpl@4a8a60bc
+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 - Using &#39;openejb.deployments.classpath=false&#39;
+INFO - Creating TransactionManager(id=Default Transaction Manager)
+INFO - Creating SecurityService(id=Default Security Service)
+INFO - Configuring enterprise application: 
/tomee/examples/multi-jpa-provider-testing/450e397e-de39-49eb-837f-7b066fc9f248.war
+INFO - Configuring Service(id=Default Managed Container, type=Container, 
provider-id=Default Managed Container)
+INFO - Auto-creating a container for bean 
450e397e-de39-49eb-837f-7b066fc9f248_org.superbiz.JPATest: 
Container(type=MANAGED, id=Default Managed Container)
+INFO - Creating Container(id=Default Managed Container)
+INFO - Using directory /tmp for stateful session passivation
+INFO - Configuring PersistenceUnit(name=jpa)
+INFO - Configuring Service(id=Default JDBC Database, type=Resource, 
provider-id=Default JDBC Database)
+INFO - Auto-creating a Resource with id &#39;Default JDBC Database&#39; of 
type &#39;DataSource for &#39;jpa&#39;.
+INFO - Creating Resource(id=Default JDBC Database)
+INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource, 
provider-id=Default Unmanaged JDBC Database)
+INFO - Auto-creating a Resource with id &#39;Default Unmanaged JDBC 
Database&#39; of type &#39;DataSource for &#39;jpa&#39;.
+INFO - Creating Resource(id=Default Unmanaged JDBC Database)
+INFO - Adjusting PersistenceUnit jpa &lt;jta-data-source&gt; to Resource ID 
&#39;Default JDBC Database&#39; from &#39;jdbc/jpa&#39;
+INFO - Adjusting PersistenceUnit jpa &lt;non-jta-data-source&gt; to Resource 
ID &#39;Default Unmanaged JDBC Database&#39; from &#39;null&#39;
+INFO - Using 
&#39;javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl&#39;
+INFO - Enterprise application 
&quot;/tomee/examples/multi-jpa-provider-testing/450e397e-de39-49eb-837f-7b066fc9f248.war&quot;
 loaded.
+INFO - Assembling app: 
/tomee/examples/multi-jpa-provider-testing/450e397e-de39-49eb-837f-7b066fc9f248.war
+INFO - OpenJPA dynamically loaded a validation provider.
+INFO - PersistenceUnit(name=jpa, 
provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider 
time 116ms
+INFO - Existing thread singleton service in SystemInstance(): 
org.apache.openejb.cdi.ThreadSingletonServiceImpl@4a8a60bc
+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 - HV000001: Hibernate Validator 5.1.3.Final
+INFO - All injection points were validated successfully.
+INFO - OpenWebBeans Container has started, it took 170 ms.
+INFO - Deployed 
Application(path=/tomee/examples/multi-jpa-provider-testing/450e397e-de39-49eb-837f-7b066fc9f248.war)
+INFO - Starting OpenJPA 3.0.0
+INFO - Using dictionary class 
&quot;org.apache.openjpa.jdbc.sql.HSQLDictionary&quot; (HSQL Database Engine 
2.3.2 ,HSQL Database Engine Driver 2.3.2).
+INFO - Connected to HSQL Database Engine version 2.2 using JDBC driver HSQL 
Database Engine Driver version 2.3.2. 
+INFO - Undeploying app: 
/tomee/examples/multi-jpa-provider-testing/450e397e-de39-49eb-837f-7b066fc9f248.war
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.666 sec - in 
org.superbiz.JPATest
+INFO - Destroying container system
+INFO - Closing DataSource: Default JDBC Database
+INFO - Closing DataSource: Default Unmanaged JDBC Database
+
+Results :
+
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
+</code></pre>
+<p>From the log you can see that both implementations are used: INFO - Using 
'javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl',
 INFO - Using 
'javax.persistence.provider=org.hibernate.ejb.HibernatePersistence'. </p>
+<h2>Inside the jar</h2>
+<p>If we look at the jar built by maven, we'll see the application itself is 
quite small:</p>
+<pre><code>jar tvf multi-jpa-provider-testing-8.0.0-SNAPSHOT.jar 
+    0 Wed Dec 26 17:55:40 CET 2018 META-INF/
+134 Wed Dec 26 17:55:38 CET 2018 META-INF/MANIFEST.MF
+    0 Wed Dec 26 17:55:30 CET 2018 org/
+    0 Wed Dec 26 17:55:30 CET 2018 org/superbiz/
+    0 Wed Dec 26 17:55:30 CET 2018 org/superbiz/model/
+780 Wed Dec 26 17:55:30 CET 2018 org/superbiz/model/Person.class
+1554 Wed Dec 26 17:55:30 CET 2018 META-INF/persistence.xml
+    0 Wed Dec 26 17:55:40 CET 2018 META-INF/maven/
+    0 Wed Dec 26 17:55:40 CET 2018 META-INF/maven/org.superbiz/
+    0 Wed Dec 26 17:55:40 CET 2018 
META-INF/maven/org.superbiz/multi-jpa-provider-testing/
+5696 Wed Dec 26 17:41:54 CET 2018 
META-INF/maven/org.superbiz/multi-jpa-provider-testing/pom.xml
+132 Wed Dec 26 17:55:38 CET 2018 
META-INF/maven/org.superbiz/multi-jpa-provider-testing/pom.properties
+</code></pre>
+<p>Inside the resources package there is only a java class and the 
persistence.xml and the only dependency is javaee-api:8.0.</p>
+            </div>
+            
+        </div>
+    </div>
+<footer>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-sm-6 text-center-mobile">
+                                       <h3 class="white">Be simple.  Be 
certified. Be Tomcat.</h3>
+                                       <h5 class="light regular 
light-white">"A good application in a good server"</h5>
+                                       <ul class="social-footer">
+                                               <li><a 
href="https://www.facebook.com/ApacheTomEE/";><i class="fa 
fa-facebook"></i></a></li>
+                                               <li><a 
href="https://twitter.com/apachetomee";><i class="fa fa-twitter"></i></a></li>
+                                               <li><a 
href="https://plus.google.com/communities/105208241852045684449";><i class="fa 
fa-google-plus"></i></a></li>
+                                       </ul>
+                               </div>
+                               <div class="col-sm-6 text-center-mobile">
+                                       <div class="row opening-hours">
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/docs/documentation.html" class="white">Documentation</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/docs/admin/configuration/index.html" class="regular 
light-white">How to configure</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/file-layout.html" class="regular 
light-white">Dir. Structure</a></li>
+                                                               <li><a 
href="../../latest/docs/developer/testing/index.html" class="regular 
light-white">Testing</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/cluster/index.html" class="regular 
light-white">Clustering</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/examples/" class="white">Examples</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/examples/simple-cdi-interceptor.html" class="regular 
light-white">CDI Interceptor</a></li>
+                                                               <li><a 
href="../../latest/examples/rest-cdi.html" class="regular light-white">REST 
with CDI</a></li>
+                                                               <li><a 
href="../../latest/examples/ejb-examples.html" class="regular 
light-white">EJB</a></li>
+                                                               <li><a 
href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular 
light-white">JSF</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../community/index.html" class="white">Community</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../community/contributors.html" class="regular 
light-white">Contributors</a></li>
+                                                               <li><a 
href="../../community/social.html" class="regular light-white">Social</a></li>
+                                                               <li><a 
href="../../community/sources.html" class="regular light-white">Sources</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../security/index.html" class="white">Security</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="http://apache.org/security"; target="_blank" class="regular 
light-white">Apache Security</a></li>
+                                                               <li><a 
href="http://apache.org/security/projects.html"; target="_blank" class="regular 
light-white">Security Projects</a></li>
+                                                               <li><a 
href="http://cve.mitre.org"; target="_blank" class="regular 
light-white">CVE</a></li>
+                                                       </ul>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+                       <div class="row bottom-footer text-center-mobile">
+                               <div class="col-sm-12 light-white">
+                                       <p>Copyright &copy; 1999-2016 The 
Apache Software Foundation, Licensed under the Apache License, Version 2.0. 
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE 
project logo are trademarks of The Apache Software Foundation. All other marks 
mentioned may be trademarks or registered trademarks of their respective 
owners.</p>
+                               </div>
+                       </div>
+               </div>
+       </footer>
+       <!-- Holder for mobile navigation -->
+       <div class="mobile-nav">
+        <ul>
+          <li><a hef="../../latest/docs/admin/index.html">Administrators</a>
+          <li><a hef="../../latest/docs/developer/index.html">Developers</a>
+          <li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
+          <li><a hef="../../community/index.html">Community</a>
+        </ul>
+               <a href="#" class="close-link"><i class="arrow_up"></i></a>
+       </div>
+       <!-- Scripts -->
+       <script src="../../js/jquery-1.11.1.min.js"></script>
+       <script src="../../js/owl.carousel.min.js"></script>
+       <script src="../../js/bootstrap.min.js"></script>
+       <script src="../../js/wow.min.js"></script>
+       <script src="../../js/typewriter.js"></script>
+       <script src="../../js/jquery.onepagenav.js"></script>
+       <script src="../../js/tree.jquery.js"></script>
+       <script src="../../js/highlight.pack.js"></script>
+    <script src="../../js/main.js"></script>
+               </body>
+
+</html>
+

Added: tomee/site/trunk/content/latest/examples/pojo-webservice.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/latest/examples/pojo-webservice.html?rev=1849820&view=auto
==============================================================================
--- tomee/site/trunk/content/latest/examples/pojo-webservice.html (added)
+++ tomee/site/trunk/content/latest/examples/pojo-webservice.html Thu Dec 27 
22:10:01 2018
@@ -0,0 +1,428 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+       <meta charset="UTF-8">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge">
+       <meta name="viewport" content="width=device-width, initial-scale=1">
+       <title>Apache TomEE</title>
+       <meta name="description"
+                 content="Apache TomEE is a lightweight, yet powerful, JavaEE 
Application server with feature rich tooling." />
+       <meta name="keywords" 
content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian"
 />
+       <meta name="author" content="Luka Cvetinovic for Codrops" />
+       <link rel="icon" href="../../favicon.ico">
+       <link rel="icon"  type="image/png" href="../../favicon.png">
+       <meta name="msapplication-TileColor" content="#80287a">
+       <meta name="theme-color" content="#80287a">
+       <link rel="stylesheet" type="text/css" href="../../css/normalize.css">
+       <link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
+       <link rel="stylesheet" type="text/css" href="../../css/owl.css">
+       <link rel="stylesheet" type="text/css" href="../../css/animate.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/eleganticons/et-icons.css">
+       <link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
+       <link rel="stylesheet" type="text/css" href="../../css/idea.css">
+       <link rel="stylesheet" type="text/css" href="../../css/cardio.css">
+
+       <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 
'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+</head>
+
+<body>
+    <div class="preloader">
+               <img src="../../img/loader.gif" alt="Preloader image">
+       </div>
+           <nav class="navbar">
+               <div class="container">
+                 <div class="row">          <div class="col-md-12">
+
+                       <!-- Brand and toggle get grouped for better mobile 
display -->
+                       <div class="navbar-header">
+                               <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                                       <span class="sr-only">Toggle 
navigation</span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                               </button>
+                               <a class="navbar-brand" href="/">
+                                   <span>
+
+                                   
+                        <img src="../../img/logo-active.png">
+                    
+
+                    </span>
+                                   Apache TomEE
+                </a>
+                       </div>
+                       <!-- Collect the nav links, forms, and other content 
for toggling -->
+                       <div class="collapse navbar-collapse" 
id="bs-example-navbar-collapse-1">
+                               <ul class="nav navbar-nav navbar-right 
main-nav">
+                                       <li><a 
href="../../docs.html">Documentation</a></li>
+                                       <li><a 
href="../../community/index.html">Community</a></li>
+                                       <li><a 
href="../../security/index.html">Security</a></li>
+                                       <li><a 
href="../../download-ng.html">Downloads</a></li>
+                               </ul>
+                       </div>
+                       <!-- /.navbar-collapse -->
+                  </div></div>
+               </div>
+               <!-- /.container-fluid -->
+       </nav>
+
+
+    <div id="main-block" class="container main-block">
+        <div class="row title">
+          <div class="col-md-12">
+            <div class='page-header'>
+              
+              <h1>JAX-WS @WebService example</h1>
+            </div>
+          </div>
+        </div>
+        <div class="row">
+            
+            <div class="col-md-12">
+                <p>Creating Web Services with JAX-WS is quite easy. Little has 
to be done aside from annotating a class with <code>@WebService</code>. Thie 
example shows the use of CDI with webservice annotation. The web.xml expose the 
webservice servlet at the address <a 
href="http://${host}:${port}/pojo-webservice?wsdl";>http://${host}:${port}/pojo-webservice?wsdl</a>.
 To run the sample you can use the tomee maven plugin, mvn tomee:run. </p>
+<h2>web.xml</h2>
+<p>Expose a servlet for the webservice</p>
+<pre><code>&lt;web-app xmlns=&quot;http://java.sun.com/xml/ns/javaee&quot;
+        xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
+        xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd&quot;
+        version=&quot;3.0&quot;&gt;
+&lt;servlet&gt;
+    &lt;servlet-name&gt;ws&lt;/servlet-name&gt;
+    &lt;servlet-class&gt;org.superbiz.ws.pojo.PojoWS&lt;/servlet-class&gt;
+&lt;/servlet&gt;
+&lt;servlet-mapping&gt;
+    &lt;servlet-name&gt;ws&lt;/servlet-name&gt;
+    &lt;url-pattern&gt;/*&lt;/url-pattern&gt;
+&lt;/servlet-mapping&gt;
+&lt;/web-app&gt;
+</code></pre>
+<h2>@PojoWS</h2>
+<p>This is the only concrete class annotated as @WebService that expose one 
operation ws(), also WebServiceContext and UserTransaction are injected in the 
class and used in the operation.</p>
+<pre><code>import javax.annotation.Resource;
+import javax.jws.WebService;
+import javax.transaction.UserTransaction;
+import javax.xml.ws.WebServiceContext;
+
+@WebService
+public class PojoWS implements WS {
+
+    @Resource
+    private WebServiceContext webServiceContext;
+
+    @Resource
+    private UserTransaction userTransaction;
+
+    @Override
+    public String ws() {
+        return webServiceContext + &quot; &amp; &quot; + userTransaction;
+    }
+
+    public void setWebServiceContext(WebServiceContext webServiceContext) {
+        this.webServiceContext = webServiceContext;
+    }
+
+    public void setUserTransaction(UserTransaction userTransaction) {
+        this.userTransaction = userTransaction;
+    }
+}
+</code></pre>
+<h2>@WebService Endpoint Interface</h2>
+<p>Having an endpoint interface is not required, but it can make testing and 
using the web service from other Java clients far easier.</p>
+<pre><code>import javax.jws.WebService;
+
+@WebService
+public interface WS {
+
+    String ws();
+}
+</code></pre>
+<h2>PojoWS WSDL</h2>
+<p>The wsdl for our service is autmatically created for us and available at 
<code>http://127.0.0.1:8080/pojo-webservice?wsdl</code>.</p>
+<pre><code>&lt;?xml version=&#39;1.0&#39; 
encoding=&#39;UTF-8&#39;?&gt;&lt;wsdl:definitions 
xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; 
xmlns:wsdl=&quot;http://schemas.xmlsoap.org/wsdl/&quot; 
xmlns:tns=&quot;http://pojo.ws.superbiz.org/&quot; 
xmlns:soap=&quot;http://schemas.xmlsoap.org/wsdl/soap/&quot; 
xmlns:ns1=&quot;http://schemas.xmlsoap.org/soap/http&quot; 
name=&quot;PojoWSService&quot; 
targetNamespace=&quot;http://pojo.ws.superbiz.org/&quot;&gt;
+&lt;wsdl:types&gt;
+&lt;xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot; 
xmlns:tns=&quot;http://pojo.ws.superbiz.org/&quot; 
elementFormDefault=&quot;unqualified&quot; 
targetNamespace=&quot;http://pojo.ws.superbiz.org/&quot; 
version=&quot;1.0&quot;&gt;
+
+&lt;xs:element name=&quot;ws&quot; type=&quot;tns:ws&quot;/&gt;
+
+&lt;xs:element name=&quot;wsResponse&quot; type=&quot;tns:wsResponse&quot;/&gt;
+
+&lt;xs:complexType name=&quot;ws&quot;&gt;
+    &lt;xs:sequence/&gt;
+&lt;/xs:complexType&gt;
+
+&lt;xs:complexType name=&quot;wsResponse&quot;&gt;
+    &lt;xs:sequence&gt;
+    &lt;xs:element minOccurs=&quot;0&quot; name=&quot;return&quot; 
type=&quot;xs:string&quot;/&gt;
+    &lt;/xs:sequence&gt;
+&lt;/xs:complexType&gt;
+
+&lt;/xs:schema&gt;
+&lt;/wsdl:types&gt;
+&lt;wsdl:message name=&quot;ws&quot;&gt;
+    &lt;wsdl:part element=&quot;tns:ws&quot; name=&quot;parameters&quot;&gt;
+    &lt;/wsdl:part&gt;
+&lt;/wsdl:message&gt;
+&lt;wsdl:message name=&quot;wsResponse&quot;&gt;
+    &lt;wsdl:part element=&quot;tns:wsResponse&quot; 
name=&quot;parameters&quot;&gt;
+    &lt;/wsdl:part&gt;
+&lt;/wsdl:message&gt;
+&lt;wsdl:portType name=&quot;WS&quot;&gt;
+    &lt;wsdl:operation name=&quot;ws&quot;&gt;
+    &lt;wsdl:input message=&quot;tns:ws&quot; name=&quot;ws&quot;&gt;
+    &lt;/wsdl:input&gt;
+    &lt;wsdl:output message=&quot;tns:wsResponse&quot; 
name=&quot;wsResponse&quot;&gt;
+    &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+&lt;/wsdl:portType&gt;
+&lt;wsdl:binding name=&quot;PojoWSServiceSoapBinding&quot; 
type=&quot;tns:WS&quot;&gt;
+    &lt;soap:binding style=&quot;document&quot; 
transport=&quot;http://schemas.xmlsoap.org/soap/http&quot;/&gt;
+    &lt;wsdl:operation name=&quot;ws&quot;&gt;
+    &lt;soap:operation soapAction=&quot;&quot; style=&quot;document&quot;/&gt;
+    &lt;wsdl:input name=&quot;ws&quot;&gt;
+        &lt;soap:body use=&quot;literal&quot;/&gt;
+    &lt;/wsdl:input&gt;
+    &lt;wsdl:output name=&quot;wsResponse&quot;&gt;
+        &lt;soap:body use=&quot;literal&quot;/&gt;
+    &lt;/wsdl:output&gt;
+    &lt;/wsdl:operation&gt;
+&lt;/wsdl:binding&gt;
+&lt;wsdl:service name=&quot;PojoWSService&quot;&gt;
+    &lt;wsdl:port binding=&quot;tns:PojoWSServiceSoapBinding&quot; 
name=&quot;PojoWSPort&quot;&gt;
+    &lt;soap:address 
location=&quot;http://localhost:8080/pojo-webservice&quot;/&gt;
+    &lt;/wsdl:port&gt;
+&lt;/wsdl:service&gt;
+</code></pre>
+<h2>Invoke ws operation</h2>
+<p>The operation can be tested with a client like SoapUI that will generate 
the following request for the ws operation</p>
+<h3>ws()</h3>
+<p>Request SOAP message:</p>
+<pre><code>&lt;soapenv:Envelope 
xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; 
xmlns:pojo=&quot;http://pojo.ws.superbiz.org/&quot;&gt;
+    &lt;soapenv:Header/&gt;
+    &lt;soapenv:Body&gt;
+        &lt;pojo:ws/&gt;
+    &lt;/soapenv:Body&gt;
+&lt;/soapenv:Envelope&gt;
+</code></pre>
+<p>Response SOAP message:</p>
+<pre><code>&lt;soap:Envelope 
xmlns:soap=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&gt;
+    &lt;soap:Body&gt;
+        &lt;ns2:wsResponse 
xmlns:ns2=&quot;http://pojo.ws.superbiz.org/&quot;&gt;
+            
&lt;return&gt;org.apache.cxf.jaxws.context.WebServiceContextImpl@94b724d 
&amp;amp; 
org.apache.openejb.resource.GeronimoTransactionManagerFactory$DestroyableTransactionManager@5fe405bf&lt;/return&gt;
+        &lt;/ns2:wsResponse&gt;
+    &lt;/soap:Body&gt;
+&lt;/soap:Envelope&gt;
+</code></pre>
+<p>This shows that WebServiceContext and UserTransaction are successfully 
injected.</p>
+<h1>Running</h1>
+<p>Running the example can be done from maven with a simple 'mvn tomee:run' 
command run from the 'pojo-webservice' directory.</p>
+<p>When run you should see output similar to the following.</p>
+<pre><code>26-Dec-2018 21:20:55.667 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Server version:        Apache 
Tomcat (TomEE)/9.0.12 (8.0.0-SNAPSHOT)
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Server built:          Sep 4 2018 
22:13:41 UTC
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Server number:         9.0.12.0
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke OS Name:               Linux
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke OS Version:            
4.15.0-43-generic
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Architecture:          amd64
+26-Dec-2018 21:20:55.668 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Java Home:             
/usr/lib/jvm/java-8-oracle/jre
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke JVM Version:           1.8.0_144-b01
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke JVM Vendor:            Oracle 
Corporation
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke CATALINA_BASE:         
/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke CATALINA_HOME:         
/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Command line argument: 
-XX:+HeapDumpOnOutOfMemoryError
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Command line argument: 
-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Command line argument: 
-Dopenejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager
+26-Dec-2018 21:20:55.669 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Command line argument: 
-Dtomee.remote.support=true
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.NativeMethodAccessorImpl.invoke Command line argument: 
-Dopenejb.system.apps=false
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Dtomee.jsp-development=true
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Djava.util.logging.config.file=/tomee/examples/pojo-webservice/target/apache-tomee/conf/logging.properties
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-javaagent:/tomee/examples/pojo-webservice/target/apache-tomee/lib/openejb-javaagent.jar
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Djava.io.tmpdir=/tomee/examples/pojo-webservice/target/apache-tomee/temp
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Dcatalina.base=/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Dcatalina.home=/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Dcatalina.ext.dirs=/tomee/examples/pojo-webservice/target/apache-tomee/lib
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: 
-Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0=true
+26-Dec-2018 21:20:55.670 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Command line argument: -ea
+26-Dec-2018 21:20:55.671 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke The APR based Apache Tomcat 
Native library which allows optimal performance in production environments was 
not found on the java.library.path: 
[/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
+26-Dec-2018 21:20:55.855 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Initializing ProtocolHandler 
[&quot;http-nio-8080&quot;]
+26-Dec-2018 21:20:55.873 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Using a shared selector for 
servlet write/read
+26-Dec-2018 21:20:55.893 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Initializing ProtocolHandler 
[&quot;ajp-nio-8009&quot;]
+26-Dec-2018 21:20:55.896 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Using a shared selector for 
servlet write/read
+26-Dec-2018 21:20:56.206 INFO [main] org.apache.openejb.util.OptionsLog.info 
Using &#39;tomee.remote.support=true&#39;
+26-Dec-2018 21:20:56.217 INFO [main] org.apache.openejb.util.OptionsLog.info 
Using 
&#39;openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator&#39;
+26-Dec-2018 21:20:56.302 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; 
********************************************************************************
+26-Dec-2018 21:20:56.302 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; OpenEJB 
http://tomee.apache.org/
+26-Dec-2018 21:20:56.302 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; Startup: Wed Dec 26 21:20:56 
CET 2018
+26-Dec-2018 21:20:56.302 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; Copyright 1999-2018 (C) Apache 
OpenEJB Project, All Rights Reserved.
+26-Dec-2018 21:20:56.302 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; Version: 8.0.0-SNAPSHOT
+26-Dec-2018 21:20:56.303 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; Build date: 20181226
+26-Dec-2018 21:20:56.303 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; Build time: 02:24
+26-Dec-2018 21:20:56.303 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; 
********************************************************************************
+26-Dec-2018 21:20:56.303 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; openejb.home = 
/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:56.303 INFO [main] 
org.apache.openejb.OpenEJB$Instance.&lt;init&gt; openejb.base = 
/tomee/examples/pojo-webservice/target/apache-tomee
+26-Dec-2018 21:20:56.305 INFO [main] 
org.apache.openejb.cdi.CdiBuilder.initializeOWB Created new singletonService 
org.apache.openejb.cdi.ThreadSingletonServiceImpl@159f197
+26-Dec-2018 21:20:56.305 INFO [main] 
org.apache.openejb.cdi.CdiBuilder.initializeOWB Succeeded in installing 
singleton service
+26-Dec-2018 21:20:56.344 INFO [main] 
org.apache.openejb.config.ConfigurationFactory.init TomEE configuration file is 
&#39;/tomee/examples/pojo-webservice/target/apache-tomee/conf/tomee.xml&#39;
+26-Dec-2018 21:20:56.431 INFO [main] 
org.apache.openejb.config.ConfigurationFactory.configureService Configuring 
Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat 
Security Service)
+26-Dec-2018 21:20:56.433 INFO [main] 
org.apache.openejb.config.ConfigurationFactory.configureService Configuring 
Service(id=Default Transaction Manager, type=TransactionManager, 
provider-id=Default Transaction Manager)
+26-Dec-2018 21:20:56.435 INFO [main] org.apache.openejb.util.OptionsLog.info 
Using &#39;openejb.system.apps=false&#39;
+26-Dec-2018 21:20:56.436 INFO [main] org.apache.openejb.util.OptionsLog.info 
Using &#39;openejb.deployments.classpath=false&#39;
+26-Dec-2018 21:20:56.454 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createRecipe Creating 
TransactionManager(id=Default Transaction Manager)
+26-Dec-2018 21:20:56.504 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createRecipe Creating 
SecurityService(id=Tomcat Security Service)
+26-Dec-2018 21:20:56.564 INFO [main] 
org.apache.openejb.server.ServiceManager.initServer Creating 
ServerService(id=cxf)
+26-Dec-2018 21:20:56.724 INFO [main] 
org.apache.openejb.server.ServiceManager.initServer Creating 
ServerService(id=cxf-rs)
+26-Dec-2018 21:20:56.778 INFO [main] 
org.apache.openejb.server.SimpleServiceManager.start   ** Bound Services **
+26-Dec-2018 21:20:56.778 INFO [main] 
org.apache.openejb.server.SimpleServiceManager.printRow   NAME                 
IP              PORT  
+26-Dec-2018 21:20:56.778 INFO [main] 
org.apache.openejb.server.SimpleServiceManager.start -------
+26-Dec-2018 21:20:56.779 INFO [main] 
org.apache.openejb.server.SimpleServiceManager.start Ready!
+26-Dec-2018 21:20:56.779 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Initialization processed in 
1609 ms
+26-Dec-2018 21:20:56.806 INFO [main] 
org.apache.tomee.catalina.OpenEJBNamingContextListener.bindResource Importing a 
Tomcat Resource with id &#39;UserDatabase&#39; of type 
&#39;org.apache.catalina.UserDatabase&#39;.
+26-Dec-2018 21:20:56.807 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createRecipe Creating 
Resource(id=UserDatabase)
+26-Dec-2018 21:20:56.822 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Starting service [Catalina]
+26-Dec-2018 21:20:56.822 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Starting Servlet Engine: Apache 
Tomcat (TomEE)/9.0.12 (8.0.0-SNAPSHOT)
+26-Dec-2018 21:20:56.839 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Deploying web application 
archive 
[/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice.war]
+26-Dec-2018 21:20:56.846 INFO [main] 
org.apache.tomee.catalina.TomcatWebAppBuilder.init ------------------------- 
localhost -&gt; /pojo-webservice
+26-Dec-2018 21:20:56.847 INFO [main] 
org.apache.openejb.util.JarExtractor.extract Extracting jar: 
/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice.war
+26-Dec-2018 21:20:56.850 INFO [main] 
org.apache.openejb.util.JarExtractor.extract Extracted path: 
/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice
+26-Dec-2018 21:20:56.852 INFO [main] org.apache.openejb.util.OptionsLog.info 
Using 
&#39;openejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager&#39;
+26-Dec-2018 21:20:57.121 INFO [main] 
org.apache.openejb.config.ConfigurationFactory.configureApplication Configuring 
enterprise application: 
/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice
+26-Dec-2018 21:20:57.227 INFO [main] 
org.apache.openejb.config.ConfigurationFactory.configureService Configuring 
Service(id=Default Managed Container, type=Container, provider-id=Default 
Managed Container)
+26-Dec-2018 21:20:57.227 INFO [main] 
org.apache.openejb.config.AutoConfig.createContainer Auto-creating a container 
for bean pojo-webservice.Comp1279740095: Container(type=MANAGED, id=Default 
Managed Container)
+26-Dec-2018 21:20:57.228 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createRecipe Creating 
Container(id=Default Managed Container)
+26-Dec-2018 21:20:57.238 INFO [main] 
org.apache.openejb.core.managed.SimplePassivater.init Using directory 
/tomee/examples/pojo-webservice/target/apache-tomee/temp for stateful session 
passivation
+26-Dec-2018 21:20:57.278 INFO [main] 
org.apache.openejb.config.AppInfoBuilder.build Enterprise application 
&quot;/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice&quot;
 loaded.
+26-Dec-2018 21:20:57.283 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createApplication Assembling 
app: /tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice
+26-Dec-2018 21:20:57.538 INFO [main] 
org.apache.openejb.assembler.classic.Assembler.createApplication Deployed 
Application(path=/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice)
+26-Dec-2018 21:20:57.643 INFO [main] 
org.apache.myfaces.ee.MyFacesContainerInitializer.onStartup Using 
org.apache.myfaces.ee.MyFacesContainerInitializer
+26-Dec-2018 21:20:57.717 INFO [main] 
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for 
TLDs yet contained no TLDs. Enable debug logging for this logger for a complete 
list of JARs that were scanned but no TLDs were found in them. Skipping 
unneeded JARs during scanning can improve startup time and JSP compilation time.
+26-Dec-2018 21:20:58.086 INFO [main] 
org.apache.cxf.common.injection.ResourceInjector.visitField failed to resolve 
resource org.superbiz.ws.pojo.PojoWS/userTransaction
+26-Dec-2018 21:20:58.370 INFO [main] 
org.apache.openejb.server.webservices.WsService.afterApplicationCreated 
Webservice(wsdl=http://localhost:8080/pojo-webservice/*, 
qname={http://pojo.ws.superbiz.org/}PojoWSService) --&gt; 
Pojo(id=localhost.pojo-webservice.ws)
+26-Dec-2018 21:20:58.411 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Deployment of web application 
archive 
[/tomee/examples/pojo-webservice/target/apache-tomee/webapps/pojo-webservice.war]
 has finished in [1,571] ms
+26-Dec-2018 21:20:58.422 INFO [main] 
org.apache.catalina.core.StandardContext.setClassLoaderProperty Unable to set 
the web application class loader property [clearReferencesRmiTargets] to [true] 
as the property does not exist.
+26-Dec-2018 21:20:58.423 INFO [main] 
org.apache.catalina.core.StandardContext.setClassLoaderProperty Unable to set 
the web application class loader property 
[clearReferencesObjectStreamClassCaches] to [true] as the property does not 
exist.
+26-Dec-2018 21:20:58.423 INFO [main] 
org.apache.catalina.core.StandardContext.setClassLoaderProperty Unable to set 
the web application class loader property [skipMemoryLeakChecksOnJvmShutdown] 
to [false] as the property does not exist.
+26-Dec-2018 21:20:58.438 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Starting ProtocolHandler 
[&quot;http-nio-8080&quot;]
+26-Dec-2018 21:20:58.456 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Starting ProtocolHandler 
[&quot;ajp-nio-8009&quot;]
+26-Dec-2018 21:20:58.463 INFO [main] 
sun.reflect.DelegatingMethodAccessorImpl.invoke Server startup in 1681 ms
+</code></pre>
+<h2>Inside the jar</h2>
+<p>With so much going on it can make things look more complex than they are. 
It can be hard to believe that so much can happen with such little code. That's 
the benefit of having an app server.</p>
+<p>If we look at the jar built by maven, we'll see the application itself is 
quite small:</p>
+<pre><code>$ jar tvf target/pojo-webservice.war 
+    99 Wed Dec 26 21:08:26 CET 2018 META-INF/MANIFEST.MF
+    0 Wed Dec 26 21:08:26 CET 2018 META-INF/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/classes/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/classes/org/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/classes/org/superbiz/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/classes/org/superbiz/ws/
+    0 Wed Dec 26 21:08:26 CET 2018 WEB-INF/classes/org/superbiz/ws/pojo/
+1160 Wed Dec 26 21:08:24 CET 2018 
WEB-INF/classes/org/superbiz/ws/pojo/PojoWS.class
+207 Wed Dec 26 21:08:24 CET 2018 WEB-INF/classes/org/superbiz/ws/pojo/WS.class
+1349 Wed Dec 26 17:41:54 CET 2018 WEB-INF/web.xml
+3661 Wed Dec 26 17:41:54 CET 2018 
META-INF/maven/org.superbiz/pojo-webservice/pom.xml
+102 Wed Dec 26 21:08:26 CET 2018 
META-INF/maven/org.superbiz/pojo-webservice/pom.properties
+</code></pre>
+<p>This single jar could be deployed any any compliant Java EE 
implementation.</p>
+<p>The server already contains the right libraries to run the code, such as 
Apache CXF, so no need to include anything extra beyond your own application 
code.</p>
+            </div>
+            
+        </div>
+    </div>
+<footer>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-sm-6 text-center-mobile">
+                                       <h3 class="white">Be simple.  Be 
certified. Be Tomcat.</h3>
+                                       <h5 class="light regular 
light-white">"A good application in a good server"</h5>
+                                       <ul class="social-footer">
+                                               <li><a 
href="https://www.facebook.com/ApacheTomEE/";><i class="fa 
fa-facebook"></i></a></li>
+                                               <li><a 
href="https://twitter.com/apachetomee";><i class="fa fa-twitter"></i></a></li>
+                                               <li><a 
href="https://plus.google.com/communities/105208241852045684449";><i class="fa 
fa-google-plus"></i></a></li>
+                                       </ul>
+                               </div>
+                               <div class="col-sm-6 text-center-mobile">
+                                       <div class="row opening-hours">
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/docs/documentation.html" class="white">Documentation</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/docs/admin/configuration/index.html" class="regular 
light-white">How to configure</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/file-layout.html" class="regular 
light-white">Dir. Structure</a></li>
+                                                               <li><a 
href="../../latest/docs/developer/testing/index.html" class="regular 
light-white">Testing</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/cluster/index.html" class="regular 
light-white">Clustering</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/examples/" class="white">Examples</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/examples/simple-cdi-interceptor.html" class="regular 
light-white">CDI Interceptor</a></li>
+                                                               <li><a 
href="../../latest/examples/rest-cdi.html" class="regular light-white">REST 
with CDI</a></li>
+                                                               <li><a 
href="../../latest/examples/ejb-examples.html" class="regular 
light-white">EJB</a></li>
+                                                               <li><a 
href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular 
light-white">JSF</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../community/index.html" class="white">Community</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../community/contributors.html" class="regular 
light-white">Contributors</a></li>
+                                                               <li><a 
href="../../community/social.html" class="regular light-white">Social</a></li>
+                                                               <li><a 
href="../../community/sources.html" class="regular light-white">Sources</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../security/index.html" class="white">Security</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="http://apache.org/security"; target="_blank" class="regular 
light-white">Apache Security</a></li>
+                                                               <li><a 
href="http://apache.org/security/projects.html"; target="_blank" class="regular 
light-white">Security Projects</a></li>
+                                                               <li><a 
href="http://cve.mitre.org"; target="_blank" class="regular 
light-white">CVE</a></li>
+                                                       </ul>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+                       <div class="row bottom-footer text-center-mobile">
+                               <div class="col-sm-12 light-white">
+                                       <p>Copyright &copy; 1999-2016 The 
Apache Software Foundation, Licensed under the Apache License, Version 2.0. 
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE 
project logo are trademarks of The Apache Software Foundation. All other marks 
mentioned may be trademarks or registered trademarks of their respective 
owners.</p>
+                               </div>
+                       </div>
+               </div>
+       </footer>
+       <!-- Holder for mobile navigation -->
+       <div class="mobile-nav">
+        <ul>
+          <li><a hef="../../latest/docs/admin/index.html">Administrators</a>
+          <li><a hef="../../latest/docs/developer/index.html">Developers</a>
+          <li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
+          <li><a hef="../../community/index.html">Community</a>
+        </ul>
+               <a href="#" class="close-link"><i class="arrow_up"></i></a>
+       </div>
+       <!-- Scripts -->
+       <script src="../../js/jquery-1.11.1.min.js"></script>
+       <script src="../../js/owl.carousel.min.js"></script>
+       <script src="../../js/bootstrap.min.js"></script>
+       <script src="../../js/wow.min.js"></script>
+       <script src="../../js/typewriter.js"></script>
+       <script src="../../js/jquery.onepagenav.js"></script>
+       <script src="../../js/tree.jquery.js"></script>
+       <script src="../../js/highlight.pack.js"></script>
+    <script src="../../js/main.js"></script>
+               </body>
+
+</html>
+

Modified: tomee/site/trunk/content/latest/examples/polling-parent.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/latest/examples/polling-parent.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/latest/examples/polling-parent.html (original)
+++ tomee/site/trunk/content/latest/examples/polling-parent.html Thu Dec 27 
22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>Polling</h1>
             </div>
           </div>
         </div>

Modified: tomee/site/trunk/content/latest/examples/simple-cdi-interceptor.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/latest/examples/simple-cdi-interceptor.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/latest/examples/simple-cdi-interceptor.html 
(original)
+++ tomee/site/trunk/content/latest/examples/simple-cdi-interceptor.html Thu 
Dec 27 22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>Simple CDI Interceptor</h1>
             </div>
           </div>
         </div>

Modified: tomee/site/trunk/content/latest/examples/websocket-tls-basic-auth.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/latest/examples/websocket-tls-basic-auth.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/latest/examples/websocket-tls-basic-auth.html 
(original)
+++ tomee/site/trunk/content/latest/examples/websocket-tls-basic-auth.html Thu 
Dec 27 22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>Websocket TLS Basic Auth</h1>
             </div>
           </div>
         </div>

Modified: tomee/site/trunk/content/master/docs/admin/cluster/index.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/docs/admin/cluster/index.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/master/docs/admin/cluster/index.html (original)
+++ tomee/site/trunk/content/master/docs/admin/cluster/index.html Thu Dec 27 
22:10:01 2018
@@ -176,9 +176,6 @@ for multicast to work you need to have e
 </tr>
 </table>
 </div>
-<div class="paragraph">
-<p>text</p>
-</div>
 <div class="admonitionblock note">
 <table>
 <tr>
@@ -191,9 +188,6 @@ for multicast to work you need to have e
 </tr>
 </table>
 </div>
-<div class="paragraph">
-<p>text</p>
-</div>
 <div class="admonitionblock tip">
 <table>
 <tr>
@@ -206,9 +200,6 @@ for multicast to work you need to have e
 </tr>
 </table>
 </div>
-<div class="paragraph">
-<p>text</p>
-</div>
 <div class="admonitionblock caution">
 <table>
 <tr>
@@ -221,9 +212,6 @@ for multicast to work you need to have e
 </tr>
 </table>
 </div>
-<div class="paragraph">
-<p>text</p>
-</div>
 <div class="admonitionblock warning">
 <table>
 <tr>
@@ -236,9 +224,6 @@ for multicast to work you need to have e
 </tr>
 </table>
 </div>
-<div class="paragraph">
-<p>text</p>
-</div>
 <div class="sect4">
 <h5 id="_multicast_client">Multicast Client</h5>
 <div class="paragraph">

Modified: tomee/site/trunk/content/master/docs/docs.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/docs/docs.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/master/docs/docs.html (original)
+++ tomee/site/trunk/content/master/docs/docs.html Thu Dec 27 22:10:01 2018
@@ -110,7 +110,7 @@
 <p><a href="admin/configuration/index.html">Server Configuration</a></p>
 </li>
 <li>
-<p><a href="admin/directory-structure.html">Directory Structure</a></p>
+<p><a href="admin/file-layout.html">Directory Structure</a></p>
 </li>
 <li>
 <p><a href="admin/cluster/index.html">Clustering and High Availability 
(HA)</a></p>

Modified: 
tomee/site/trunk/content/master/examples/bean-validation-design-by-contract.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/examples/bean-validation-design-by-contract.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- 
tomee/site/trunk/content/master/examples/bean-validation-design-by-contract.html
 (original)
+++ 
tomee/site/trunk/content/master/examples/bean-validation-design-by-contract.html
 Thu Dec 27 22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>Bean Validation Design by Contract</h1>
             </div>
           </div>
         </div>

Modified: 
tomee/site/trunk/content/master/examples/cdi-alternative-and-stereotypes.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/examples/cdi-alternative-and-stereotypes.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- 
tomee/site/trunk/content/master/examples/cdi-alternative-and-stereotypes.html 
(original)
+++ 
tomee/site/trunk/content/master/examples/cdi-alternative-and-stereotypes.html 
Thu Dec 27 22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>CDI Alternative and Stereotypes</h1>
             </div>
           </div>
         </div>

Modified: tomee/site/trunk/content/master/examples/cdi-events.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/examples/cdi-events.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/master/examples/cdi-events.html (original)
+++ tomee/site/trunk/content/master/examples/cdi-events.html Thu Dec 27 
22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>null</h1>
+              <h1>CDI Events</h1>
             </div>
           </div>
         </div>

Added: tomee/site/trunk/content/master/examples/cdi-session-scope.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/examples/cdi-session-scope.html?rev=1849820&view=auto
==============================================================================
--- tomee/site/trunk/content/master/examples/cdi-session-scope.html (added)
+++ tomee/site/trunk/content/master/examples/cdi-session-scope.html Thu Dec 27 
22:10:01 2018
@@ -0,0 +1,265 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+       <meta charset="UTF-8">
+       <meta http-equiv="X-UA-Compatible" content="IE=edge">
+       <meta name="viewport" content="width=device-width, initial-scale=1">
+       <title>Apache TomEE</title>
+       <meta name="description"
+                 content="Apache TomEE is a lightweight, yet powerful, JavaEE 
Application server with feature rich tooling." />
+       <meta name="keywords" 
content="tomee,asf,apache,javaee,jee,shade,embedded,test,junit,applicationcomposer,maven,arquillian"
 />
+       <meta name="author" content="Luka Cvetinovic for Codrops" />
+       <link rel="icon" href="../../favicon.ico">
+       <link rel="icon"  type="image/png" href="../../favicon.png">
+       <meta name="msapplication-TileColor" content="#80287a">
+       <meta name="theme-color" content="#80287a">
+       <link rel="stylesheet" type="text/css" href="../../css/normalize.css">
+       <link rel="stylesheet" type="text/css" href="../../css/bootstrap.css">
+       <link rel="stylesheet" type="text/css" href="../../css/owl.css">
+       <link rel="stylesheet" type="text/css" href="../../css/animate.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/font-awesome-4.1.0/css/font-awesome.min.css">
+       <link rel="stylesheet" type="text/css" 
href="../../fonts/eleganticons/et-icons.css">
+       <link rel="stylesheet" type="text/css" href="../../css/jqtree.css">
+       <link rel="stylesheet" type="text/css" href="../../css/idea.css">
+       <link rel="stylesheet" type="text/css" href="../../css/cardio.css">
+
+       <script type="text/javascript">
+
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-2717626-1']);
+      _gaq.push(['_setDomainName', 'apache.org']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 
'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+</head>
+
+<body>
+    <div class="preloader">
+               <img src="../../img/loader.gif" alt="Preloader image">
+       </div>
+           <nav class="navbar">
+               <div class="container">
+                 <div class="row">          <div class="col-md-12">
+
+                       <!-- Brand and toggle get grouped for better mobile 
display -->
+                       <div class="navbar-header">
+                               <button type="button" class="navbar-toggle 
collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                                       <span class="sr-only">Toggle 
navigation</span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                                       <span class="icon-bar"></span>
+                               </button>
+                               <a class="navbar-brand" href="/">
+                                   <span>
+
+                                   
+                        <img src="../../img/logo-active.png">
+                    
+
+                    </span>
+                                   Apache TomEE
+                </a>
+                       </div>
+                       <!-- Collect the nav links, forms, and other content 
for toggling -->
+                       <div class="collapse navbar-collapse" 
id="bs-example-navbar-collapse-1">
+                               <ul class="nav navbar-nav navbar-right 
main-nav">
+                                       <li><a 
href="../../docs.html">Documentation</a></li>
+                                       <li><a 
href="../../community/index.html">Community</a></li>
+                                       <li><a 
href="../../security/index.html">Security</a></li>
+                                       <li><a 
href="../../download-ng.html">Downloads</a></li>
+                               </ul>
+                       </div>
+                       <!-- /.navbar-collapse -->
+                  </div></div>
+               </div>
+               <!-- /.container-fluid -->
+       </nav>
+
+
+    <div id="main-block" class="container main-block">
+        <div class="row title">
+          <div class="col-md-12">
+            <div class='page-header'>
+              
+              <h1>CDI @SessionScoped</h1>
+            </div>
+          </div>
+        </div>
+        <div class="row">
+            
+            <div class="col-md-12">
+                <p>This example show the use of <code>@SessionScoped</code> 
annotation for injected objects. An object which is defined as 
<code>@SessionScoped</code> is created once for every HTTPSession and is shared 
by all the beans that inject it throughout the same HTTPSession.</p>
+<h5>Run the application:</h5>
+<pre><code>mvn clean install tomee:run 
+</code></pre>
+<h1>Example</h1>
+<p>This example has an end point wherein a user provides a request parameter 
'name' which is persisted as a feild in a session scoped bean SessionBean and 
then retrieved through another endpoint.</p>
+<h1>Request</h1>
+<p>GET <a 
href="http://localhost:8080/cdi-session-scope-8.0.0-SNAPSHOT/set-name?name=Puneeth";>http://localhost:8080/cdi-session-scope-8.0.0-SNAPSHOT/set-name?name=Puneeth</a></p>
+<h1>Response</h1>
+<p>done, go to /name servlet </p>
+<h1>Request</h1>
+<p>GET <a 
href="http://localhost:8080/cdi-session-scope-8.0.0-SNAPSHOT/name";>http://localhost:8080/cdi-session-scope-8.0.0-SNAPSHOT/name</a></p>
+<h1>Response</h1>
+<p>name = {Puneeth} </p>
+<h2>SessionBean</h2>
+<p>The annotation @SessionScoped specifies that a bean is session scoped ie 
there will be only one instance of the class associated with a particular 
HTTPSession. </p>
+<p>@SessionScoped<br/>public class SessionBean implements Serializable {</p>
+<pre><code>private String name;
+
+public String getName() {
+    return name;
+}
+
+public void setName(String name) {
+    this.name = name;
+}
+</code></pre>
+<p>} </p>
+<h2>InputServlet</h2>
+<p>InputServlet is a generic servlet which is mapped to the url pattern 
'/set-name'. The session scoped bean 'SessionBean' has been injected into this 
servlet, and the incoming request parameter is set to the feild name of the 
bean. </p>
+<p>@WebServlet(name = "input-servlet", urlPatterns = {"/set-name"})<br/>public 
class InputServlet extends HttpServlet {</p>
+<pre><code>@Inject
+private SessionBean bean;
+
+@Override
+protected void service(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
+    final String name = req.getParameter(&quot;name&quot;);
+    if (name == null || name.isEmpty()) {
+        resp.getWriter().write(&quot;please add a parameter name=xxx&quot;);
+    } else {
+        bean.setName(name);
+        resp.getWriter().write(&quot;done, go to /name servlet&quot;);
+    }
+
+}
+</code></pre>
+<p>}</p>
+<h2>AnswerBean</h2>
+<p>AnswerBean is a request scoped bean with an injected 'SessionBean'. It has 
an postconstruct method wherein the value from the sessionBean is retrieved and 
set to a feild.</p>
+<p>public class AnswerBean {</p>
+<pre><code>@Inject
+private SessionBean bean;
+
+private String value;
+
+@PostConstruct
+public void init() {
+    value = &#39;{&#39; + bean.getName() + &#39;}&#39;;
+}
+
+public String value() {
+    return value;
+}
+</code></pre>
+<p>}</p>
+<h2>OutputServlet</h2>
+<p>OutputServlet is another servlet with 'AnswerBean' as an injected feild. 
When '/name' is called the value from 'Answerbean' is read and written to the 
response.</p>
+<p>@WebServlet(name = "output-servlet", urlPatterns = {"/name"})<br/>public 
class OutputServlet extends HttpServlet {</p>
+<pre><code>@Inject
+private AnswerBean bean;
+
+@Override
+protected void service(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {
+    final String name = bean.value();
+    if (name == null || name.isEmpty()) {
+        resp.getWriter().write(&quot;please go to servlet /set-name 
please&quot;);
+    } else {
+        resp.getWriter().write(&quot;name = &quot; + name);
+    }
+}
+</code></pre>
+<p>}</p>
+            </div>
+            
+        </div>
+    </div>
+<footer>
+               <div class="container">
+                       <div class="row">
+                               <div class="col-sm-6 text-center-mobile">
+                                       <h3 class="white">Be simple.  Be 
certified. Be Tomcat.</h3>
+                                       <h5 class="light regular 
light-white">"A good application in a good server"</h5>
+                                       <ul class="social-footer">
+                                               <li><a 
href="https://www.facebook.com/ApacheTomEE/";><i class="fa 
fa-facebook"></i></a></li>
+                                               <li><a 
href="https://twitter.com/apachetomee";><i class="fa fa-twitter"></i></a></li>
+                                               <li><a 
href="https://plus.google.com/communities/105208241852045684449";><i class="fa 
fa-google-plus"></i></a></li>
+                                       </ul>
+                               </div>
+                               <div class="col-sm-6 text-center-mobile">
+                                       <div class="row opening-hours">
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/docs/documentation.html" class="white">Documentation</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/docs/admin/configuration/index.html" class="regular 
light-white">How to configure</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/file-layout.html" class="regular 
light-white">Dir. Structure</a></li>
+                                                               <li><a 
href="../../latest/docs/developer/testing/index.html" class="regular 
light-white">Testing</a></li>
+                                                               <li><a 
href="../../latest/docs/admin/cluster/index.html" class="regular 
light-white">Clustering</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../latest/examples/" class="white">Examples</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../latest/examples/simple-cdi-interceptor.html" class="regular 
light-white">CDI Interceptor</a></li>
+                                                               <li><a 
href="../../latest/examples/rest-cdi.html" class="regular light-white">REST 
with CDI</a></li>
+                                                               <li><a 
href="../../latest/examples/ejb-examples.html" class="regular 
light-white">EJB</a></li>
+                                                               <li><a 
href="../../latest/examples/jsf-managedBean-and-ejb.html" class="regular 
light-white">JSF</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../community/index.html" class="white">Community</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="../../community/contributors.html" class="regular 
light-white">Contributors</a></li>
+                                                               <li><a 
href="../../community/social.html" class="regular light-white">Social</a></li>
+                                                               <li><a 
href="../../community/sources.html" class="regular light-white">Sources</a></li>
+                                                       </ul>
+                                               </div>
+                                               <div class="col-sm-3 
text-center-mobile">
+                                                       <h5><a 
href="../../security/index.html" class="white">Security</a></h5>
+                                                       <ul 
class="list-unstyled">
+                                                               <li><a 
href="http://apache.org/security"; target="_blank" class="regular 
light-white">Apache Security</a></li>
+                                                               <li><a 
href="http://apache.org/security/projects.html"; target="_blank" class="regular 
light-white">Security Projects</a></li>
+                                                               <li><a 
href="http://cve.mitre.org"; target="_blank" class="regular 
light-white">CVE</a></li>
+                                                       </ul>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+                       <div class="row bottom-footer text-center-mobile">
+                               <div class="col-sm-12 light-white">
+                                       <p>Copyright &copy; 1999-2016 The 
Apache Software Foundation, Licensed under the Apache License, Version 2.0. 
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE 
project logo are trademarks of The Apache Software Foundation. All other marks 
mentioned may be trademarks or registered trademarks of their respective 
owners.</p>
+                               </div>
+                       </div>
+               </div>
+       </footer>
+       <!-- Holder for mobile navigation -->
+       <div class="mobile-nav">
+        <ul>
+          <li><a hef="../../latest/docs/admin/index.html">Administrators</a>
+          <li><a hef="../../latest/docs/developer/index.html">Developers</a>
+          <li><a hef="../../latest/docs/advanced/index.html">Advanced</a>
+          <li><a hef="../../community/index.html">Community</a>
+        </ul>
+               <a href="#" class="close-link"><i class="arrow_up"></i></a>
+       </div>
+       <!-- Scripts -->
+       <script src="../../js/jquery-1.11.1.min.js"></script>
+       <script src="../../js/owl.carousel.min.js"></script>
+       <script src="../../js/bootstrap.min.js"></script>
+       <script src="../../js/wow.min.js"></script>
+       <script src="../../js/typewriter.js"></script>
+       <script src="../../js/jquery.onepagenav.js"></script>
+       <script src="../../js/tree.jquery.js"></script>
+       <script src="../../js/highlight.pack.js"></script>
+    <script src="../../js/main.js"></script>
+               </body>
+
+</html>
+

Modified: 
tomee/site/trunk/content/master/examples/dynamic-proxy-to-access-mbean.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/master/examples/dynamic-proxy-to-access-mbean.html?rev=1849820&r1=1849819&r2=1849820&view=diff
==============================================================================
--- tomee/site/trunk/content/master/examples/dynamic-proxy-to-access-mbean.html 
(original)
+++ tomee/site/trunk/content/master/examples/dynamic-proxy-to-access-mbean.html 
Thu Dec 27 22:10:01 2018
@@ -88,7 +88,7 @@
           <div class="col-md-12">
             <div class='page-header'>
               
-              <h1>dynamic-proxy-to-access-mbean</h1>
+              <h1>Dynamic Proxy to Access MBean</h1>
             </div>
           </div>
         </div>


Reply via email to