Author: timothyjward
Date: Tue Apr 26 17:53:39 2016
New Revision: 1741064
URL: http://svn.apache.org/viewvc?rev=1741064&view=rev
Log:
Add initial documentation page for the Transaction Control service
Added:
aries/site/trunk/content/modules/transactioncontrol.mdtext
- copied, changed from r1655891,
aries/site/trunk/content/modules/transactionsproject.mdtext
Copied: aries/site/trunk/content/modules/transactioncontrol.mdtext (from
r1655891, aries/site/trunk/content/modules/transactionsproject.mdtext)
URL:
http://svn.apache.org/viewvc/aries/site/trunk/content/modules/transactioncontrol.mdtext?p2=aries/site/trunk/content/modules/transactioncontrol.mdtext&p1=aries/site/trunk/content/modules/transactionsproject.mdtext&r1=1655891&r2=1741064&rev=1741064&view=diff
==============================================================================
--- aries/site/trunk/content/modules/transactionsproject.mdtext (original)
+++ aries/site/trunk/content/modules/transactioncontrol.mdtext Tue Apr 26
17:53:39 2016
@@ -1,8 +1,30 @@
Title: TransactionsProject
-The Aries JTA project will focus on making container managed transactions
-available as OSGi services.
-For more information, check out section "123 JTA Transaction Services
-Specification 1.0" in the "OSGi Service Platform Enterprise Specification,
-Release 4, Version 4.2" available for public download from the [OSGi
Alliance](http://www.osgi.org/Download/Release4V42)
-.
+OSGi Transaction Control Service
+---------------------------------
+
+This set of modules is an implementation of the proposed OSGi Transaction
Control Service and related services, such as JDBC and JPA resource providers.
+
+The Transaction Control Service (RFC-221) is an in-progress RFC publicly
available from the OSGi Alliance:
https://github.com/osgi/design/blob/master/rfcs/rfc0221/rfc-0221-TransactionControl.pdf
+
+Given that the RFC is non-final the OSGi API declared in this project is
subject to change at any time up to its official release. Also the behaviour of
this implementation may not always be up-to-date with the latest wording in the
RFC. The project maintainers will, however try to keep pace with the RFC, and
to ensure that the implementations are compliant with any OSGi specifications
that result from the RFC.
+
+# Modules
+
+The following modules are available for use in OSGi
+
+1. tx-control-service-local :- A purely local transaction control service
implementation. This can be used with any resource-local capable
ResourceProvider
+2. tx-control-service-xa :- An XA-capable transaction control service
implementation based on the Geronimo Transaction Manager. This can be used with
XA capable resources, or with local resources. Local resources will make use of
the last-participant gambit.
+3. tx-control-provider-jdbc-local :- A JDBC resource provider that can
integrate with local transactions. The JDBCConnectionProviderFactory service
may be used directly, or a service may be configured using the
_org.apache.aries.tx.control.jdbc.local_ pid
+4. tx-control-provider-jdbc-xa :- A JDBC resource provider that can integrate
with local or XA transactions. The JDBCConnectionProviderFactory service may be
used directly, or a service may be configured using the
_org.apache.aries.tx.control.jdbc.xa_ pid
+
+
+## Which modules should I use?
+
+If you wish to use entirely lightweight, resource-local transactions then it
is best to pair the tx-control-service-local and tx-control-provider-jdbc-local
or tx-control-provider-jpa-local bundles. This will give transactional
behaviour, but the result is _not guaranteed to be ACID if more than one
resource is used_.
+
+If two-phase commit is needed across multiple resources then the
tx-control-service-xa *must* be used. and tx-control-provider-jdbc-xa or
tx-control-provider-jpa-xa bundles should be used.
+
+**DO NOT** use both tx-control-service-xa and tx-control-service-local at the
same time. This will be confusing, and will lead to problems if different parts
of the runtime bind to different service implementations.
+
+There is also no reason to use the tx-control-provider-jdbc-local in addition
to the tx-control-provider-jdbc-xa service. Using both together is not
typically harmful, however the tx-control-provider-jdbc-xa bundle supports all
of the same features as the tx-control-provider-jdbc-local bundle.
\ No newline at end of file