<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements. See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License. You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<html>
  <head>
    <link rel="shortcut icon" href="http://aries.apache.org/images/favicon.ico"></link>
    <link type="text/css" rel="stylesheet" href="http://aries.apache.org/resources/site.css"></link>
    </script><script src="http://aries.apache.org/resources/menus.js" language="javascript" type="text/javascript"></script>
  <meta name="keywords" content="..."/>
  <meta name="description" content="..." />
    <title>
    Apache Aries - 
    </title>
  </head>
<body onload="SetMenu()">

<table width="100%" cellpadding="0" cellspacing="0">
  <tr width="100%">
    <td id="cell-0-0" colspan="2">&nbsp;</td>
    <td id="cell-0-1">&nbsp;</td>
    <td id="cell-0-2" colspan="2">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-1-0">&nbsp;</td>
    <td id="cell-1-1">&nbsp;</td>
    <td id="cell-1-2">
      <div style="padding: 5px;">
        <div id="banner">
          <!-- Banner -->
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td align="left" class="topbardiv" nowrap="">
            <a href="http://aries.apache.org/" title="Apache Aries"> <img border="0" src="http://aries.apache.org/images/Arieslogo_Horizontal.gif"> </a>
          </td>
          <td align="right" nowrap="">
            <a href="http://www.apache.org/" title="The Apache Software Foundation"> <img border="0" src="http://aries.apache.org/images/apache_feather.png"> </a>
              </td>
        </tr>
      </table>
          <!-- Banner -->
        </div>
      </div>
      <div id="top-menu">
        <table border="0" cellpadding="1" cellspacing="0" width="100%">
          <tr>
            <td>
              <div align="left">
                <!-- Breadcrumbs -->
                <!-- Breadcrumbs -->
              </div>
            </td>
            <td>
              <div align="right">
                <!-- Quicklinks -->
          <DIV style="padding: 5px 5px 0px 25px;">
            <FORM action="http://www.google.com/search" method="get" style="font-size: 10px;">
            <A href="http://www.apache.org/licenses/LICENSE-2.0.html" class="external-link" rel="nofollow">License</A> 
            <INPUT name="ie" type="hidden" value="UTF-8"></INPUT>
            <INPUT name="oe" type="hidden" value="UTF-8"></INPUT>
            <INPUT maxlength="255" name="q" size="15" type="text" value></INPUT>
            <INPUT name="btnG" type="submit" value="Search"></INPUT>
            <INPUT name="domains" type="hidden" value="aries.apache.org"></INPUT>
            <INPUT name="sitesearch" type="hidden" value="aries.apache.org"></INPUT>
            </FORM>
          </DIV>
                <!-- Quicklinks -->
              </div>
            </td>
          </tr>
        </table>
      </div>
    </td>
    <td id="cell-1-3">&nbsp;</td>
    <td id="cell-1-4">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-2-0" colspan="2">&nbsp;</td>
    <td id="cell-2-1">
      <table>
        <tr height="100%" valign="top">
          <td height="100%">
            <div id="wrapper-menu-page-right">
              <div id="wrapper-menu-page-top">
                <div id="wrapper-menu-page-bottom">
                  <div id="menu-page">
                    <!-- NavigationBar -->
          <style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<div onclick="SwitchMenu('documentation')" id="documentationTitle" class="menutitle">Documentation</div>

<div id="documentation" class="menuitemgroup">
    <div class="menuitem">
        <a href="/documentation/integrators-guide.html">Integrators Guide</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/articles.html">Articles</a> 
    </div>
    <div class="menuitem">
        <a href="https://svn.apache.org/repos/asf/aries/slides/">Slides</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/tutorials.html">Tutorials</a> 
    </div>
    <div class="menuitem">
        <a href="/documentation/tools.html">Tools</a> 
    </div>
</div>

<div onclick="SwitchMenu('modules')" id="modulesTitle" class="menutitle">Modules</div>

<div id="modules" class="menuitemgroup">
    <div class="menuitem">
        <a href="/modules/samples.html">Samples</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/async-svcs.html">Asynchronous Services</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprint.html">Blueprint</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprint-maven-plugin.html">Blueprint-maven-plugin</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintannotation.html">Blueprint Annotations</a>
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintnoosgi.html">Blueprint No-OSGi</a>
    </div>
    <div class="menuitem">
        <a href="/modules/blueprintweb.html">Blueprint Web</a>
    </div>
    <div class="menuitem">
        <a href="/modules/esaanttask.html">ESA Ant Task </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/ebamavenpluginproject.html">EBA Maven Plugin </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/esamavenpluginproject.html">ESA Maven Plugin </a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jmx.html">JMX</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jndiproject.html">JNDI</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/jpaproject.html">JPA</a> 
    </div>
        <div class="menuitem">
        <a href="/modules/transactioncontrol.html">Transaction Control Service</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/transactionsproject.html">Transactions</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/rsa.html">Remote Service Admin (RSA)</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/spi-fly.html">SPI Fly</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/subsystems.html">Subsystems</a> 
    </div>
    <div class="menuitem">
        <a href="/modules/applications.html">Applications (obsolete)</a> 
    </div>
</div>

<div onclick="SwitchMenu('downloads')" id="downloadsTitle" class="menutitle">Downloads</div>

<div id="downloads" class="menuitemgroup">
    <div class="menuitem">
        <a href="/downloads/currentreleases.html">Current Releases</a> 
    </div>
    <div class="menuitem">
        <a href="/downloads/testresults.html">Compliance Tests</a> 
    </div>
    <div class="menuitem">
        <a href="/downloads/archived-releases.html">Archived Releases</a> 
    </div>
</div>

<div onclick="SwitchMenu('community')" id="communityTitle" class="menutitle">Community</div>

<div id="community" class="menuitemgroup">
    <div class="menuitem">
        <a href="/community/resources.html">Community Resources</a> 
    </div>
    <div class="menuitem">
        <a href="/community/gettinginvolved.html">Getting Involved</a> 
    </div>
    <div class="menuitem">
        <a href="/community/people.html">Who we are</a> 
    </div>
    <div class="menuitem">
        <a href="/community/boardreports.html">Board Reports</a> 
    </div>
        <div class="menuitem">
                <a href="/community/logos.html">Logos for Users</a>
        </div>
</div>

<div onclick="SwitchMenu('development')" id="developmentTitle" class="menutitle">Development</div>

<div id="development" class="menuitemgroup">
    <div class="menuitem">
        <a href="/development/buildingaries.html">Building Aries </a> 
    </div>
    <div class="menuitem">
        <a href="/development/guidelines.html">Cording Guidelines</a> 
    </div>
    <div class="menuitem">
        <a href="/development/architecture.html">Architecture</a> 
    </div>
    <div class="menuitem">
        <a href="/development/releasingaries.html">Releasing Aries </a> 
    </div>
    <div class="menuitem">
        <a href="/development/compliancetesting.html">OSGi Compliance Tests </a> 
    </div>
    <div class="menuitem">
        <a href="/development/maintainingthewebpages.html">Web Site Maintenance </a> 
    </div>
</div>

<div onclick="SwitchMenu('sponsorship')" id="sponsorshipTitle" class="menutitle">Sponsorship</div>

<div id="sponsorship" class="menuitemgroup">
    <div class="menuitem">
        <a href="http://www.apache.org/foundation/thanks.html">Thanks</a> 
    </div>
    <div class="menuitem">
        <a href="http://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a> 
    </div>
</div>
                    <!-- NavigationBar -->
                  </div>
                </div>
              </div>
            </div>
          </td>
          <td height="100%" width="100%">
            <!-- Content -->
            <div class="wiki-content"><style type="text/css">
/* The following code is added by mdx_elementid.py
   It was originally lifted from http://subversion.apache.org/style/site.css */
/*
 * Hide class="elementid-permalink", except when an enclosing heading
 * has the :hover property.
 */
.headerlink, .elementid-permalink {
  visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h1 id="getting-started-with-the-transaction-control-service">Getting started with the Transaction Control Service<a class="headerlink" href="#getting-started-with-the-transaction-control-service" title="Permanent link">&para;</a></h1>
<p>To make use of scoped resources and transactions using the transaction control service you need two things:</p>
<ul>
<li>
<p>A <code>org.osgi.service.transaction.control.TransactionControl</code> implementation 
(found in the service registry)</p>
</li>
<li>
<p>A <code>org.osgi.service.transaction.control.ResourceProvider</code> for each of the 
resources that you want to use.</p>
</li>
</ul>
<h2 id="scoping-work-using-transactioncontrol">Scoping Work using TransactionControl<a class="headerlink" href="#scoping-work-using-transactioncontrol" title="Permanent link">&para;</a></h2>
<p>The Transaction Control Service defines three different scopes:</p>
<ul>
<li>
<p>Unscoped - There is no scope associated with the current thread</p>
</li>
<li>
<p><em>No Transaction Scope</em> - There is a scope associated with the current thread, but no ongoing transaction</p>
</li>
<li>
<p><em>Transactional Scope</em> - There is an ongoing transaction associated with the current thread</p>
</li>
</ul>
<p>Scoped resources have different behaviours in each of these three scopes:</p>
<ul>
<li>
<p>Unscoped - The resource is generally not usable and will throw exceptions</p>
</li>
<li>
<p><em>No Transaction</em> Scope - The same physical resource will be used throughout the scope, 
and will be automatically tidied up at the end of the scope (e.g. closed or returned to a pool)</p>
</li>
<li>
<p><em>Transactional Scope</em> - The same physical resource will be used throughout the scope, will be 
automatically committed or rolled back up at the end of the transaction, and then tidied up afterwards</p>
</li>
</ul>
<h3 id="starting-and-finishing-scopes">Starting and Finishing scopes<a class="headerlink" href="#starting-and-finishing-scopes" title="Permanent link">&para;</a></h3>
<p>A scope is defined using a piece of work wrapped in a <code>Callable</code>. This means that it is lambda-friendly.</p>
<div class="codehilite"><pre><span class="n">Integer</span> <span class="n">result</span> <span class="p">=</span> <span class="n">txControl</span><span class="p">.</span><span class="n">required</span><span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">{</span>
        <span class="o">//</span><span class="n">Work</span> <span class="n">goes</span> <span class="n">in</span> <span class="n">here</span>
        <span class="k">return</span> 42<span class="p">;</span>
    <span class="p">});</span>
</pre></div>


<p>The scope starts immediately before the work is executed, and finishes immediately afterwards. The 
<code>required</code> and <code>requiresNew</code> methods can be used to ensure that a 
<em>Transactional</em> scope has been started. The <code>supports</code> and <code>notSupported</code>
methods can be used to ensure that a <em>No Transaction</em> scope has been started.</p>
<p>Simple scope management is perfect in most situations, but you may also wish to read about
<a href="advancedScopes.html">more advanced scope control techniques</a> or <a href="exceptionManagement.html">exception management</a> once you've mastered the basics.</p>
<h2 id="accessing-resources">Accessing Resources<a class="headerlink" href="#accessing-resources" title="Permanent link">&para;</a></h2>
<p>A <code>ResourceProvider</code> is a generic factory for scoped resources. Typically you will use a more 
specific interface for type safety. For example the Transaction Control specification defines 
<code>JDBCConnectionProvider</code> and <code>JPAEntityManagerProvider</code> interfaces. If
needed you can <a href="advancedResourceProviders.html">make your own ResourceProvider</a>.</p>
<p>To create your scoped resource you make one call to <code>getResource</code> passing in the 
<code>TransactionControl</code> service that the resource should integrate with. The returned object
is thread-safe, and can be cached for use in any scope.</p>
<h3 id="declarative-services-example">Declarative Services Example<a class="headerlink" href="#declarative-services-example" title="Permanent link">&para;</a></h3>
<p>The following component provides read and write access using JDBC to a list of messages created by a user. 
The transactionality and lifecycle of the database resources is automatically managed.</p>
<div class="codehilite"><pre><span class="p">@</span><span class="n">Component</span>
<span class="n">public</span> <span class="n">class</span> <span class="n">MyDaoImpl</span> <span class="n">implements</span> <span class="n">MyDao</span> <span class="p">{</span>

    <span class="p">@</span><span class="n">Reference</span>
    <span class="n">TransactionControl</span> <span class="n">control</span><span class="p">;</span>

    <span class="n">Connection</span> <span class="n">dbConn</span><span class="p">;</span>

    <span class="p">@</span><span class="n">Reference</span>
    <span class="n">void</span> <span class="n">setResource</span><span class="p">(</span><span class="n">JDBCConnectionProvder</span> <span class="n">provider</span><span class="p">)</span> <span class="p">{</span>
        <span class="n">dbConn</span> <span class="p">=</span> <span class="n">provider</span><span class="p">.</span><span class="n">getResource</span><span class="p">(</span><span class="n">control</span><span class="p">);</span>
    <span class="p">}</span>

    <span class="p">@</span><span class="n">Override</span>
    <span class="n">public</span> <span class="n">void</span> <span class="n">saveMessage</span><span class="p">(</span><span class="n">String</span> <span class="n">user</span><span class="p">,</span> <span class="n">String</span> <span class="n">message</span><span class="p">)</span> <span class="p">{</span>
        <span class="n">txControl</span><span class="p">.</span><span class="n">required</span><span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">{</span>
                <span class="n">PreparedStatement</span> <span class="n">ps</span> <span class="p">=</span> <span class="n">connection</span><span class="p">.</span><span class="n">prepareStatement</span><span class="p">(</span>
                        &quot;<span class="n">Insert</span> <span class="n">into</span> <span class="n">MESSAGES</span> <span class="n">values</span> <span class="p">(</span> ?<span class="p">,</span> ? <span class="p">)</span>&quot;<span class="p">);</span>
                <span class="n">ps</span><span class="p">.</span><span class="n">setString</span><span class="p">(</span>1<span class="p">,</span> <span class="n">user</span><span class="p">);</span>
                <span class="n">ps</span><span class="p">.</span><span class="n">setString</span><span class="p">(</span>2<span class="p">,</span> <span class="n">message</span><span class="p">);</span>
                <span class="k">return</span> <span class="n">ps</span><span class="p">.</span><span class="n">executeUpdate</span><span class="p">();</span>
            <span class="p">});</span>
    <span class="p">}</span>

    <span class="p">@</span><span class="n">Override</span>
    <span class="n">public</span> <span class="n">void</span> <span class="n">getMessagesForUser</span><span class="p">(</span><span class="n">String</span> <span class="n">user</span><span class="p">)</span> <span class="p">{</span>
        <span class="k">return</span> <span class="n">txControl</span><span class="p">.</span><span class="n">supports</span><span class="p">(()</span> <span class="o">-&gt;</span> <span class="p">{</span>
                <span class="n">PreparedStatement</span> <span class="n">ps</span> <span class="p">=</span> <span class="n">connection</span><span class="p">.</span><span class="n">prepareStatement</span><span class="p">(</span>
                        &quot;<span class="n">Select</span> <span class="n">MESSAGE</span> <span class="n">FROM</span> <span class="n">MESSAGES</span> <span class="n">WHERE</span> <span class="n">USER</span> <span class="p">=</span> ?&quot;<span class="p">);</span>
                <span class="n">ps</span><span class="p">.</span><span class="n">setString</span><span class="p">(</span>1<span class="p">,</span> <span class="n">user</span><span class="p">);</span>

                <span class="n">List</span><span class="o">&lt;</span><span class="n">String</span><span class="o">&gt;</span> <span class="n">result</span> <span class="p">=</span> <span class="n">new</span> <span class="n">ArrayList</span><span class="o">&lt;&gt;</span><span class="p">();</span>

                <span class="n">ResultSet</span> <span class="n">rs</span> <span class="p">=</span> <span class="n">ps</span><span class="p">.</span><span class="n">executeQuery</span><span class="p">();</span>

                <span class="k">while</span><span class="p">(</span><span class="n">rs</span><span class="p">.</span><span class="n">next</span><span class="p">())</span> <span class="p">{</span>
                    <span class="n">result</span><span class="p">.</span><span class="n">add</span><span class="p">(</span><span class="n">rs</span><span class="p">.</span><span class="n">getString</span><span class="p">(</span>1<span class="p">));</span>
                <span class="p">}</span>

                <span class="k">return</span> <span class="n">result</span><span class="p">;</span>
            <span class="p">});</span>
    <span class="p">}</span>
<span class="p">}</span>
</pre></div></div>
            <!-- Content -->
          </td>
        </tr>
      </table>
   </td>
   <td id="cell-2-2" colspan="2">&nbsp;</td>
  </tr>
  <tr width="100%">
   <td id="cell-3-0">&nbsp;</td>
   <td id="cell-3-1">&nbsp;</td>
   <td id="cell-3-2">
     <div id="footer">
       <!-- Footer -->
       <div id="site-footer">
         <a href="http://aries.apache.org/privacy-policy.html";>Privacy
Policy</a> 
       </div>
       <!-- Footer -->
     </div>
   </td>
   <td id="cell-3-3">&nbsp;</td>
   <td id="cell-3-4">&nbsp;</td>
  </tr>
  <tr width="100%">
    <td id="cell-4-0" colspan="2">&nbsp;</td>
    <td id="cell-4-1">&nbsp;</td>
    <td id="cell-4-2" colspan="2">&nbsp;</td>
  </tr>
</table>
</body>
</html> 
