You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by bu...@apache.org on 2015/06/01 11:55:42 UTC

svn commit: r953398 - in /websites/staging/deltaspike/trunk/content: ./ documentation/

Author: buildbot
Date: Mon Jun  1 09:55:41 2015
New Revision: 953398

Log:
Staging update by buildbot for deltaspike

Added:
    websites/staging/deltaspike/trunk/content/documentation/asciidoc-temp9145708526139550128.xml   (with props)
Modified:
    websites/staging/deltaspike/trunk/content/   (props changed)
    websites/staging/deltaspike/trunk/content/documentation/build.html
    websites/staging/deltaspike/trunk/content/documentation/configure.html
    websites/staging/deltaspike/trunk/content/documentation/data.html
    websites/staging/deltaspike/trunk/content/documentation/jpa.html
    websites/staging/deltaspike/trunk/content/documentation/scheduler.html
    websites/staging/deltaspike/trunk/content/documentation/snapshots.html

Propchange: websites/staging/deltaspike/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Jun  1 09:55:41 2015
@@ -1 +1 @@
-1682851
+1682852

Added: websites/staging/deltaspike/trunk/content/documentation/asciidoc-temp9145708526139550128.xml
==============================================================================
Binary file - no diff available.

Propchange: websites/staging/deltaspike/trunk/content/documentation/asciidoc-temp9145708526139550128.xml
------------------------------------------------------------------------------
    svn:mime-type = application/xml

Modified: websites/staging/deltaspike/trunk/content/documentation/build.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/build.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/build.html Mon Jun  1 09:55:41 2015
@@ -278,7 +278,7 @@ table.CodeRay td.code>pre{padding:0}
 <p>The DeltaSpike source (modules and examples) is provided for inspection, contribution and testing purposes. The source must be built with Maven, which has been used to automate the compilation, testing and packaging processes. Arquillian tests are included with the source and a CDI implementation or container can be specified with which to carry out the tests.</p>
 </div>
 <div class="paragraph">
-<p>In all cases, to obtain the DeltaSpike source, <a href="https://deltaspike.apache.org/download.html">download</a> <code>deltaspike-project-1.4.0-source-release.zip</code> and extract the contents.</p>
+<p>In all cases, to obtain the DeltaSpike source, <a href="https://deltaspike.apache.org/download.html">download</a> <code>deltaspike-project-1.3.0-source-release.zip</code> and extract the contents.</p>
 </div>
 <div class="admonitionblock note">
 <table>
@@ -302,7 +302,7 @@ You can also obtain the DeltaSpike sourc
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="shell">$ cd /path/to/deltaspike-project-1.4.0/
+<pre class="CodeRay highlight"><code data-lang="shell">$ cd /path/to/deltaspike-project-1.3.0/
 $ mvn clean install</code></pre>
 </div>
 </div>
@@ -459,40 +459,6 @@ Set <code>WLS_HOME</code> so that <code>
 </div>
 </div>
 <div class="sect1">
-<h2 id="_build_and_debug_with_a_java_ee6_application_servers">Build and Debug with a Java EE6+ application servers</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>Tests can be debugged through Java EE 6+ application servers. Configurations are currently provided as details in the table here.</p>
-</div>
-<table class="tableblock frame-all grid-all spread">
-<caption class="title">Table 3. Integration Tests with debug</caption>
-<colgroup>
-<col style="width: 40%;">
-<col style="width: 60%;">
-</colgroup>
-<thead>
-<tr>
-<th class="tableblock halign-left valign-top">Container</th>
-<th class="tableblock halign-left valign-top">Command to Execute Arquillian Tests with remote debugging</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Apache TomEE</p></td>
-<td class="tableblock halign-left valign-top"><div><div class="paragraph">
-<p>Use remote debuggig at port 5005</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="shell">mvn test -Ptomee-build-managed -Dtest=UnitTestName -Dopenejb.server.debug=true</code></pre>
-</div>
-</div></div></td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-<div class="sect1">
 <h2 id="_next">Next</h2>
 <div class="sectionbody">
 <div class="ulist">
@@ -527,7 +493,6 @@ Set <code>WLS_HOME</code> so that <code>
 <li><a href="#_build_without_cdi_implementation_tests">Build without CDI Implementation Tests</a></li>
 <li><a href="#_build_and_test_with_a_cdi_implementation">Build and Test with a CDI Implementation</a></li>
 <li><a href="#_build_and_test_with_a_cdi_container">Build and Test with a CDI Container</a></li>
-<li><a href="#_build_and_debug_with_a_java_ee6_application_servers">Build and Debug with a Java EE6+ application servers</a></li>
 <li><a href="#_next">Next</a></li>
 </ul>
                     </div>

Modified: websites/staging/deltaspike/trunk/content/documentation/configure.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/configure.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/configure.html Mon Jun  1 09:55:41 2015
@@ -310,7 +310,7 @@ You can also opt to use the lastest Delt
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;properties&gt;</span>
-    <span class="tag">&lt;deltaspike.version&gt;</span>1.4.0<span class="tag">&lt;/deltaspike.version&gt;</span>
+    <span class="tag">&lt;deltaspike.version&gt;</span>1.3.0<span class="tag">&lt;/deltaspike.version&gt;</span>
 <span class="tag">&lt;/properties&gt;</span></code></pre>
 </div>
 </div>

Modified: websites/staging/deltaspike/trunk/content/documentation/data.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/data.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/data.html Mon Jun  1 09:55:41 2015
@@ -548,7 +548,7 @@ is introduced, as we see in the next cha
 </table>
 </div>
 <div class="sect4">
-<h5 id="_the_code_abstractentityrepository_code_class">The <code>AbstractEntityRepository</code> Class</h5>
+<h5 id="_the_abstractentityrepository_class">The AbstractEntityRepository Class</h5>
 <div class="paragraph">
 <p>This class is an implementation of the <code>EntityRepository</code> interface and
 provides additional functionality when custom query logic needs also to
@@ -598,7 +598,7 @@ be implemented in the repository.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_using_multiple_code_entitymanager_code">Using Multiple <code>EntityManager</code></h3>
+<h3 id="_using_multiple_entitymanagers">Using Multiple EntityManagers</h3>
 <div class="paragraph">
 <p>While most applications will run just fine with a single
 <code>EntityManager</code>, there might be setups where multiple data sources are
@@ -634,7 +634,7 @@ interface.</p>
 </div>
 </div>
 <div class="sect2">
-<h3 id="_other_code_entitymanager_code_methods">Other <code>EntityManager</code> Methods</h3>
+<h3 id="_other_entitymanager_methods">Other EntityManager Methods</h3>
 <div class="paragraph">
 <p>While the <code>EntityRepository</code> methods should cover most interactions
 normally done with an <code>EntityManager</code>, for some specific cases it might
@@ -2103,14 +2103,14 @@ provider when persisting / updating the
 <ul class="sectlevel3">
 <li><a href="#_the_code_entityrepository_code_interface">The <code>EntityRepository</code> Interface</a>
 <ul class="sectlevel4">
-<li><a href="#_the_code_abstractentityrepository_code_class">The <code>AbstractEntityRepository</code> Class</a></li>
+<li><a href="#_the_abstractentityrepository_class">The AbstractEntityRepository Class</a></li>
 </ul>
 </li>
 </ul>
 </li>
 <li><a href="#_deactivating_repositories">Deactivating Repositories</a></li>
-<li><a href="#_using_multiple_code_entitymanager_code">Using Multiple <code>EntityManager</code></a></li>
-<li><a href="#_other_code_entitymanager_code_methods">Other <code>EntityManager</code> Methods</a></li>
+<li><a href="#_using_multiple_entitymanagers">Using Multiple EntityManagers</a></li>
+<li><a href="#_other_entitymanager_methods">Other EntityManager Methods</a></li>
 </ul>
 </li>
 <li><a href="#_query_method_expressions">Query Method Expressions</a>

Modified: websites/staging/deltaspike/trunk/content/documentation/jpa.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/jpa.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/jpa.html Mon Jun  1 09:55:41 2015
@@ -331,22 +331,24 @@ table.CodeRay td.code>pre{padding:0}
 <h2 id="__transactional">@Transactional</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>This annotation is an alternative to transactional EJBs which allows to
-execute a method within a transaction. Before it is possible to start
+<p>This annotation is an alternative to transactional EJBs and enables the execution
+of a method within a transaction. Before it is possible to start
 using the annotation, it is required to implement a CDI producer for an
 <code>EntityManager</code> and it is needed to inject the <code>EntityManager</code> in the
 bean which uses <code>@Transactional</code>. As shown later on, it is also possible
-to use multiple qualifiers for using different `EntityManager`s.</p>
+to use multiple qualifiers for using different EntityManagers.</p>
 </div>
+<div class="sect2">
+<h3 id="_basic_usage">Basic usage</h3>
 <div class="paragraph">
 <p>The following example shows a simple producer for an <code>EntityManager</code> and
-the corresponding dispose-method. Producing it as request scoped bean
-means that the dispose method will be called on finishing the request.
-As an alternative it is possible to use a special scope called
-<code>@TransactionScoped</code> provided by the same DeltaSpike module.</p>
+the corresponding disposer method. Producing it as request scoped bean
+means that the disposer method will be called on finishing the request.
+Alternatively it is possible to use a special scope called
+<a href="#__transactionscoped"><code>@TransactionScoped</code></a>.</p>
 </div>
 <div class="listingblock">
-<div class="title">Producer for the Default EntityManager (<strong>no EE-Server</strong>)</div>
+<div class="title">Producer for the Default EntityManager (non-EE server)</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span>
@@ -373,7 +375,7 @@ As an alternative it is possible to use
 </div>
 </div>
 <div class="listingblock">
-<div class="title">Producer for the Default EntityManager (<strong>EE-Server</strong>)</div>
+<div class="title">Producer for the Default EntityManager (EE server)</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@ApplicationScoped</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span>
@@ -404,7 +406,7 @@ As an alternative it is possible to use
 the example above.</p>
 </div>
 <div class="listingblock">
-<div class="title">Beans with Transactional Method</div>
+<div class="title">Bean with a Transactional Method</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">TransactionalBean</span>
@@ -459,60 +461,156 @@ the example above.</p>
 }</code></pre>
 </div>
 </div>
+</div>
+<div class="sect2">
+<h3 id="_multiple_entitymanagers">Multiple EntityManagers</h3>
+<div class="paragraph">
+<p>The default qualifier for <code>@Transactional</code> is <code>@Any</code> whereby a transaction gets started for every injected entity manager. Besides such simple usages, it is also possible to access multiple persistence units in parallel using qualifiers.</p>
+</div>
+<div class="paragraph">
+<p>First, the EntityManagers or EntityManagerFactories must be obtained from the JPA subsystem, then EntityManagers must be made available as CDI beans and finally injected into <code>@Transactional</code> beans for usage.</p>
+</div>
+<div class="sect3">
+<h4 id="_obtaining_entitymanagers_from_jpa">Obtaining EntityManagers from JPA</h4>
 <div class="paragraph">
-<p>Besides such simple usages, it is also supported to use qualifiers to
-access multiple persistence-units in parallel. The default qualifier for
-<code>@Transactional</code> is <code>@Any</code>. Therefore a transaction for every injected
-entity manager will be started. The example afterwards shows how to
-change this default behaviour.</p>
+<p>In EE managed environments the EntityManager can be obtained directly or through an EntityManagerFactory using standard JPA annotations <code>@PersistenceContext</code> for an EntityManager or <code>@PersistenceUnit</code> for an EntityManagerFactory.</p>
 </div>
 <div class="listingblock">
-<div class="title">Producer for Multiple Entity Managers (+ Usage)</div>
+<div class="title">JPA Managed EntityManager</div>
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span>
-{
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span> {
+
     <span class="annotation">@PersistenceContext</span>(unitName = <span class="string"><span class="delimiter">&quot;</span><span class="content">firstDB</span><span class="delimiter">&quot;</span></span>)
     <span class="directive">private</span> EntityManager firstEntityManager;
 
     <span class="annotation">@PersistenceContext</span>(unitName = <span class="string"><span class="delimiter">&quot;</span><span class="content">secondDB</span><span class="delimiter">&quot;</span></span>)
     <span class="directive">private</span> EntityManager secondEntityManager;
 
+    <span class="comment">// ...</span>
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>An alternative for non-EE environments is available through DeltaSpike&#8217;s <code>@PersistenceUnitName</code> qualifier allowing to inject EntityManagerFactories.</p>
+</div>
+<div class="listingblock">
+<div class="title">Unmanaged EntityManagerFactory</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span> {
+
+    <span class="annotation">@Inject</span>
+    <span class="annotation">@PersistenceUnitName</span>(<span class="string"><span class="delimiter">&quot;</span><span class="content">puA</span><span class="delimiter">&quot;</span></span>)
+    <span class="directive">private</span> EntityManagerFactory emfA;
+
+    <span class="annotation">@Inject</span>
+    <span class="annotation">@PersistenceUnitName</span>(<span class="string"><span class="delimiter">&quot;</span><span class="content">puB</span><span class="delimiter">&quot;</span></span>)
+    <span class="directive">private</span> EntityManagerFactory emfB;
+
+    <span class="comment">// ...</span>
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Obtaining an EntityManager from an EntityManagerFactory is just a matter of calling <code>emfA.createEntityManager()</code>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_producing_multiple_entitymanagers">Producing Multiple EntityManagers</h4>
+<div class="paragraph">
+<p>There are several ways to make multiple entity managers available for use in <code>@Transactional</code> methods, each suitable for a different situation.</p>
+</div>
+<div class="paragraph">
+<p>The simplest method employs a producer and a disposer for each EntityManager.</p>
+</div>
+<div class="listingblock">
+<div class="title">Deciding using qualifiers</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span> {
+
+    <span class="comment">// ...entity managers or factories injected here</span>
+
     <span class="annotation">@Produces</span>
-    <span class="annotation">@First</span>
-    <span class="annotation">@RequestScoped</span>
-    <span class="directive">protected</span> EntityManager createFirstEntityManager()
+    <span class="annotation">@RequestScoped</span> <span class="comment">// or other</span>
+    <span class="annotation">@DbA</span> <span class="comment">//custom qualifier annotation</span>
+    <span class="directive">public</span> EntityManager createEntityManagerA()
     {
-        <span class="keyword">return</span> <span class="local-variable">this</span>.firstEntityManager;
+        <span class="keyword">return</span> emfA.createEntityManager();
     }
 
-    <span class="directive">protected</span> <span class="type">void</span> closeFirstEntityManager(<span class="annotation">@Disposes</span> <span class="annotation">@First</span> EntityManager entityManager)
+    <span class="directive">public</span> <span class="type">void</span> closeEmA(<span class="annotation">@Disposes</span> <span class="annotation">@DbA</span> EntityManager em)
     {
-        <span class="keyword">if</span> (entityManager.isOpen())
-        {
-            entityManager.close();
-        }
+        em.close();
     }
 
     <span class="annotation">@Produces</span>
-    <span class="annotation">@Second</span>
     <span class="annotation">@RequestScoped</span>
-    <span class="directive">protected</span> EntityManager createSecondEntityManager()
+    <span class="annotation">@DbB</span> <span class="comment">//custom qualifier annotation</span>
+    <span class="directive">public</span> EntityManager createEntityManagerB()
     {
-        <span class="keyword">return</span> <span class="local-variable">this</span>.secondEntityManager;
+        <span class="keyword">return</span> emfB.createEntityManager();
     }
 
-    <span class="directive">protected</span> <span class="type">void</span> closeSecondEntityManager(<span class="annotation">@Disposes</span> <span class="annotation">@Second</span> EntityManager entityManager)
+    <span class="directive">public</span> <span class="type">void</span> closeEmB(<span class="annotation">@Disposes</span> <span class="annotation">@DbB</span> EntityManager em)
     {
-        <span class="keyword">if</span> (entityManager.isOpen())
-        {
-            entityManager.close();
-        }
+        em.close();
     }
-}
 
-<span class="comment">//...</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">FirstLevelTransactionBean</span>
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If there&#8217;s the need to decide dynamically on which EntityManager should be used when it&#8217;s possible to use the standard CDI facility of <code>InjectionPoint</code> to get information about the injection points and produce different EntityManagers with just one producer method.</p>
+</div>
+<div class="listingblock">
+<div class="title">Deciding using InjectionPoint</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span> {
+
+    <span class="comment">// ...entity managers or factories injected here</span>
+
+    <span class="annotation">@Produces</span>
+    <span class="directive">protected</span> EntityManager createEntityManager(InjectionPoint injectionPoint)
+    {
+        CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class);
+        <span class="keyword">return</span> selectEntityManager(customQualifier); <span class="comment">//selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier</span>
+    }
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The information necessary to make the decision about the EntityManager appropriate for the current situation and injection point may be available elsewhere, for example in a custom context.</p>
+</div>
+<div class="listingblock">
+<div class="title">Deciding using anything else</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span> {
+
+    <span class="comment">// ...entity managers or factories injected here</span>
+
+    <span class="annotation">@Inject</span>
+    <span class="directive">private</span> CustomDatabaseContext customDatabaseContext;
+
+    <span class="annotation">@Produces</span>
+    <span class="directive">protected</span> EntityManager createEntityManager()
+    {
+        <span class="keyword">if</span> (customDatabaseContext.usePrimaryDb()) {
+            <span class="keyword">return</span> firstEntityManager;
+        }
+        <span class="keyword">return</span> secondEntityManager;
+    }
+}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_using_transactions_with_multiple_entitymanagers">Using transactions with multiple EntityManagers</h4>
+<div class="paragraph">
+<p>One use case for multiple EntityManagers is their usage in nested transactions. When a transactional method is called from within a transactional method, it joins the existing transaction.</p>
+</div>
+<div class="listingblock">
+<div class="title">Nested transactions with multiple EntityManagers</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">FirstLevelTransactionBean</span>
 {
     <span class="annotation">@Inject</span>
     <span class="directive">private</span> <span class="annotation">@First</span> EntityManager firstEntityManager;
@@ -528,7 +626,6 @@ change this default behaviour.</p>
     }
 }
 
-<span class="comment">//...</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">NestedTransactionBean</span>
 {
     <span class="annotation">@Inject</span>
@@ -543,11 +640,10 @@ change this default behaviour.</p>
 </div>
 </div>
 <div class="paragraph">
-<p>The following example shows how to use only the specified
-<code>EntityManager</code>/s</p>
+<p>It&#8217;s also easy to use multiple EntityManagers in the same bean in different transactional methods. By default, a <code>@Transactional</code> method would enroll all of the EntityManagers in the transaction. By using <code>@Transactional(qualifier=&#8230;&#8203;)</code> it&#8217;s easy to choose individual EntityManagers for each transactional method.</p>
 </div>
 <div class="listingblock">
-<div class="title">Activating Entity Managers Manually</div>
+<div class="title">Selecting individual EntityManagers for a transactional method</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">MultiTransactionBean</span>
 {
@@ -561,62 +657,13 @@ change this default behaviour.</p>
     <span class="directive">private</span> <span class="annotation">@Second</span> EntityManager secondEntityManager;
 
     <span class="annotation">@Transactional</span>(qualifier = Default.class)
-    <span class="directive">public</span> <span class="type">void</span> executeInDefaultTransaction()
-    {
-    }
+    <span class="directive">public</span> <span class="type">void</span> executeInDefaultTransaction() {...}
 
     <span class="annotation">@Transactional</span>(qualifier = First.class)
-    <span class="directive">public</span> <span class="type">void</span> executeInFirstTransaction()
-    {
-    }
-
-    <span class="annotation">@Transactional</span>(qualifier = Second.class)
-    <span class="directive">public</span> <span class="type">void</span> executeInSecondTransaction()
-    {
-    }
+    <span class="directive">public</span> <span class="type">void</span> executeInFirstTransaction() {...}
 
     <span class="annotation">@Transactional</span>(qualifier = {First.class, Second.class})
-    <span class="directive">public</span> <span class="type">void</span> executeInFirstAndSecondTransaction()
-    {
-    }
-}</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>All examples also work with nested calls. In the following example the
-transaction handling is done on the entry point (after
-FirstLevelTransactionBean#executeInTransaction).</p>
-</div>
-<div class="listingblock">
-<div class="title">Joining Existing Transaction in Nested Call</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">FirstLevelTransactionBean</span>
-{
-    <span class="annotation">@Inject</span>
-    <span class="directive">private</span> EntityManager entityManager;
-
-    <span class="annotation">@Inject</span>
-    <span class="directive">private</span> NestedTransactionBean nestedTransactionBean;
-
-    <span class="annotation">@Transactional</span>
-    <span class="directive">public</span> <span class="type">void</span> executeInTransaction()
-    {
-        <span class="local-variable">this</span>.nestedTransactionBean.executeInTransaction();
-    }
-}
-
-<span class="comment">//...</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">NestedTransactionBean</span>
-{
-    <span class="annotation">@Inject</span>
-    <span class="directive">private</span> EntityManager entityManager;
-
-    <span class="annotation">@Transactional</span>
-    <span class="directive">public</span> <span class="type">void</span> executeInTransaction()
-    {
-        <span class="comment">//...</span>
-    }
+    <span class="directive">public</span> <span class="type">void</span> executeInFirstAndSecondTransaction() {...}
 }</code></pre>
 </div>
 </div>
@@ -629,6 +676,8 @@ immediate rollback.</p>
 </div>
 </div>
 </div>
+</div>
+</div>
 <div class="sect1">
 <h2 id="__transactionscoped">@TransactionScoped</h2>
 <div class="sectionbody">
@@ -639,14 +688,10 @@ this scope for the <code>EntityManager</
 <code>EntityManager</code> will be closed after leaving the method annotated with
 <code>@Transactional</code>.</p>
 </div>
-<div class="paragraph">
-<div class="title">Producer for the Default EntityManager which should be Used Only for One</div>
-<p>Transaction</p>
-</div>
 <div class="listingblock">
+<div class="title">Using a transaction-scoped EntityManager</div>
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
-<span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span>
+<pre class="CodeRay highlight"><code data-lang="java"><span class="directive">public</span> <span class="type">class</span> <span class="class">EntityManagerProducer</span>
 {
     <span class="comment">//or manual bootstrapping</span>
     <span class="annotation">@PersistenceContext</span>
@@ -692,7 +737,7 @@ However, if you really need this approac
 your detached entities, it is pretty simple to add this functionality.</p>
 </div>
 <div class="listingblock">
-<div class="title">Usage of a Simple <code>ExtendedEntityManager</code></div>
+<div class="title">Usage of a Simple extended EntityManager</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@Inject</span>
 <span class="directive">private</span> EntityManager entityManager;</code></pre>
@@ -704,7 +749,7 @@ your detached entities, it is pretty sim
 producer-method:</p>
 </div>
 <div class="listingblock">
-<div class="title">Producer for the Default Extended-<code>EntityManager</code> (<strong>no EE-Server</strong>)</div>
+<div class="title">Producer for an extended EntityManager (non-EE server)</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="comment">//...</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">ExtendedEntityManagerProducer</span>
@@ -731,7 +776,7 @@ producer-method:</p>
 </div>
 </div>
 <div class="listingblock">
-<div class="title">Producer for the Default Extended-<code>EntityManager</code> (<strong>EE-Server</strong>)</div>
+<div class="title">Producer for an extended EntityManager (EE server)</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@ApplicationScoped</span>
 <span class="directive">public</span> <span class="type">class</span> <span class="class">ExtendedEntityManagerProducer</span>
@@ -758,7 +803,7 @@ producer-method:</p>
 </div>
 </div>
 <div class="listingblock">
-<div class="title">Implementation of a Simple <code>ExtendedEntityManager</code></div>
+<div class="title">Implementation of a simple extended EntityManager</div>
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="java"><span class="annotation">@Typed</span>()
 <span class="directive">public</span> <span class="type">class</span> <span class="class">ExtendedEntityManager</span> <span class="directive">implements</span> EntityManager, <span class="predefined-type">Serializable</span>
@@ -817,8 +862,8 @@ in the beans.xml which is called
 </div>
 </div>
 <div class="paragraph">
-<p>If you have multiple persistence-units and you have to use both
-transaction-types or the settings for development have to be different
+<p>If you have multiple persistence units and you have to use both
+transaction types or the settings for development have to be different
 than the production settings, you can use
 <code>org.apache.deltaspike.jpa.impl.transaction.EnvironmentAwareTransactionStrategy</code>
 instead.</p>
@@ -878,7 +923,18 @@ to <code>/META-INF/apache-deltaspike.pro
 <li><a href="#_2_enable_the_transaction_interceptor">2. Enable the Transaction Interceptor</a></li>
 </ul>
 </li>
-<li><a href="#__transactional">@Transactional</a></li>
+<li><a href="#__transactional">@Transactional</a>
+<ul class="sectlevel2">
+<li><a href="#_basic_usage">Basic usage</a></li>
+<li><a href="#_multiple_entitymanagers">Multiple EntityManagers</a>
+<ul class="sectlevel3">
+<li><a href="#_obtaining_entitymanagers_from_jpa">Obtaining EntityManagers from JPA</a></li>
+<li><a href="#_producing_multiple_entitymanagers">Producing Multiple EntityManagers</a></li>
+<li><a href="#_using_transactions_with_multiple_entitymanagers">Using transactions with multiple EntityManagers</a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li><a href="#__transactionscoped">@TransactionScoped</a></li>
 <li><a href="#_extended_persistence_contexts">Extended Persistence Contexts</a></li>
 <li><a href="#_jta_support">JTA Support</a></li>

Modified: websites/staging/deltaspike/trunk/content/documentation/scheduler.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/scheduler.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/scheduler.html Mon Jun  1 09:55:41 2015
@@ -477,7 +477,7 @@ start a job once (without registering it
 <div class="sectionbody">
 <div class="paragraph">
 <p>It is possible to replace the default integration with Quartz. Any scheduler that supports cron-expressions for job-classes can be used.
-For more information, see <a href="https://deltaspike.apache.org/javadoc/1.4.0/org/apache/deltaspike/scheduler/spi/Scheduler.html">Scheduler javadoc</a>.</p>
+For more information, see <a href="https://deltaspike.apache.org/javadoc/1.3.0/org/apache/deltaspike/scheduler/spi/Scheduler.html">Scheduler javadoc</a>.</p>
 </div>
 </div>
 </div>

Modified: websites/staging/deltaspike/trunk/content/documentation/snapshots.html
==============================================================================
--- websites/staging/deltaspike/trunk/content/documentation/snapshots.html (original)
+++ websites/staging/deltaspike/trunk/content/documentation/snapshots.html Mon Jun  1 09:55:41 2015
@@ -344,7 +344,7 @@ Snapshots provide previews of DeltaSpike
 <div class="listingblock">
 <div class="content">
 <pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;properties&gt;</span>
-    <span class="tag">&lt;deltaspike.version&gt;</span>1.4.1-SNAPSHOT<span class="tag">&lt;/deltaspike.version&gt;</span>
+    <span class="tag">&lt;deltaspike.version&gt;</span>1.3.1-SNAPSHOT<span class="tag">&lt;/deltaspike.version&gt;</span>
 <span class="tag">&lt;/properties&gt;</span></code></pre>
 </div>
 </div>