Author: buildbot
Date: Wed Apr 27 10:05:33 2016
New Revision: 986809
Log:
Staging update by buildbot for aries
Added:
websites/staging/aries/trunk/content/modules/tx-control/
websites/staging/aries/trunk/content/modules/tx-control/index.html
websites/staging/aries/trunk/content/modules/tx-control/quickstart.html
Modified:
websites/staging/aries/trunk/content/ (props changed)
Propchange: websites/staging/aries/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Wed Apr 27 10:05:33 2016
@@ -1 +1 @@
-1741158
+1741196
Added: websites/staging/aries/trunk/content/modules/tx-control/index.html
==============================================================================
--- websites/staging/aries/trunk/content/modules/tx-control/index.html (added)
+++ websites/staging/aries/trunk/content/modules/tx-control/index.html Wed Apr
27 10:05:33 2016
@@ -0,0 +1,328 @@
+<!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"> </td>
+ <td id="cell-0-1"> </td>
+ <td id="cell-0-2" colspan="2"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0"> </td>
+ <td id="cell-1-1"> </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"> </td>
+ <td id="cell-1-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2"> </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="the-transaction-control-service">The Transaction Control service<a
class="headerlink" href="#the-transaction-control-service" title="Permanent
link">¶</a></h1>
+<p>If you're new to the Transaction Control service then we suggest that you
read the <a href="quickstart.html">Quick Start Page</a>
+first.</p>
+<h3 id="the-aries-transaction-control-implementations">The Aries Transaction
Control implementations<a class="headerlink"
href="#the-aries-transaction-control-implementations" title="Permanent
link">¶</a></h3>
+<ul>
+<li>TODO Local Transactions</li>
+<li>TODO XA Transactions and Last Participant support</li>
+</ul>
+<h3 id="configuring-jdbc-access">Configuring JDBC access<a class="headerlink"
href="#configuring-jdbc-access" title="Permanent link">¶</a></h3>
+<ul>
+<li>TODO With Local Transactions</li>
+<li>TODO With XA Transactions</li>
+</ul>
+<h3 id="configuring-jpa-access">Configuring JPA access<a class="headerlink"
href="#configuring-jpa-access" title="Permanent link">¶</a></h3>
+<ul>
+<li>TODO With Local Transactions</li>
+<li>TODO With XA Transactions</li>
+</ul></div>
+ <!-- Content -->
+ </td>
+ </tr>
+ </table>
+ </td>
+ <td id="cell-2-2" colspan="2"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0"> </td>
+ <td id="cell-3-1"> </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"> </td>
+ <td id="cell-3-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2"> </td>
+ <td id="cell-4-1"> </td>
+ <td id="cell-4-2" colspan="2"> </td>
+ </tr>
+</table>
+</body>
+</html>
Added: websites/staging/aries/trunk/content/modules/tx-control/quickstart.html
==============================================================================
--- websites/staging/aries/trunk/content/modules/tx-control/quickstart.html
(added)
+++ websites/staging/aries/trunk/content/modules/tx-control/quickstart.html Wed
Apr 27 10:05:33 2016
@@ -0,0 +1,418 @@
+<!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"> </td>
+ <td id="cell-0-1"> </td>
+ <td id="cell-0-2" colspan="2"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0"> </td>
+ <td id="cell-1-1"> </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"> </td>
+ <td id="cell-1-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2"> </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">¶</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">¶</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">¶</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">-></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>For more advanced scope control techniques look <a
href="advancedScopes.html">here</a></p>
+<h2 id="accessing-resources">Accessing Resources<a class="headerlink"
href="#accessing-resources" title="Permanent link">¶</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">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">¶</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">-></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>
+ "<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>"<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">-></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>
+ "<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> ?"<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"><</span><span
class="n">String</span><span class="o">></span> <span
class="n">result</span> <span class="p">=</span> <span class="n">new</span>
<span class="n">ArrayList</span><span class="o"><></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"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0"> </td>
+ <td id="cell-3-1"> </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"> </td>
+ <td id="cell-3-4"> </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2"> </td>
+ <td id="cell-4-1"> </td>
+ <td id="cell-4-2" colspan="2"> </td>
+ </tr>
+</table>
+</body>
+</html>