[jboss-svn-commits] JBL Code SVN: r29327 - in labs/jbosstm/trunk: ArjunaJTS and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 14 06:22:22 EDT 2009


Author: jhalliday
Date: 2009-09-14 06:22:22 -0400 (Mon, 14 Sep 2009)
New Revision: 29327

Added:
   labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml
   labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml.jts
Modified:
   labs/jbosstm/trunk/ArjunaJTA/INSTALL
   labs/jbosstm/trunk/ArjunaJTS/INSTALL
Log:
Installation doc updates for 4.8.  JBTM-617


Modified: labs/jbosstm/trunk/ArjunaJTA/INSTALL
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/INSTALL	2009-09-14 09:53:09 UTC (rev 29326)
+++ labs/jbosstm/trunk/ArjunaJTA/INSTALL	2009-09-14 10:22:22 UTC (rev 29327)
@@ -1,25 +1,27 @@
 
-JBossTS 4.7.GA is designed for use standalone or with JBossAS 5.1.0.GA
+JBossTS 4.8.GA is designed for use standalone or with JBossAS 6 alpha
 It is not suitable for use with earlier versions of JBossAS.
 
 The installation procedure has changed from earlier releases due to the move from
-a JMX configuration style to the POJO microcontainer used by AS 5.x, packaging and config files changes.
+a JMX configuration style to the POJO microcontainer used by AS 6.x, packaging and config files changes.
 Upgrading users should take care to read the steps below carefully.
 
-Installing JBossTS 4.7.GA JTA into JBossAS 5.1.0.GA
+Installing JBossTS 4.8.GA JTA into JBossAS 6 alpha
 ------------------------------------------------------------
 
 The application server ships with an earlier release of JBossTS JTS, configured to run in JTA local mode,
 as its default transaction manager. It is not recommended to install the JTA only, but should you wish to
 do so the steps are as follows:
 
-- Delete JBossAS common/lib/jbossjts* and jbossts-common.jar
+- Delete JBossAS common/lib/jbossjts* common/lib/jbossts-common.jar and client/jbossjts*
 
-- Copy JBossTS lib/*.jar to JBossAS common/lib/
+- Copy JBossTS lib/*.jar to JBossAS common/lib/ and client/
 
-- Replace JBossAS server/xxx/conf/jbossts-properties.xml with JBossTS  etc/jbossts-properties.xml
+- Delete JBossAS server/<name>/conf/jbossts-properties.xml
 
+- Replace JBossAS server/<name>/deploy/transaction-jboss-beans.xml with the newer JBossTS version.
 
+
                          Web Services Transactions
                          -------------------------
 
@@ -30,7 +32,7 @@
 Build and deploy from source
 ----------
 
-In JBossAS 5.x XTS is deployed as a service archive (sar) which can be
+In JBossAS 6.x XTS is deployed as a service archive (sar) which can be
 deployed with either the JTA or JTS Transaction Service
 implementation. This sar implements both the participant and the
 coordinator services required to support web service transactions. By

Modified: labs/jbosstm/trunk/ArjunaJTS/INSTALL
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/INSTALL	2009-09-14 09:53:09 UTC (rev 29326)
+++ labs/jbosstm/trunk/ArjunaJTS/INSTALL	2009-09-14 10:22:22 UTC (rev 29327)
@@ -1,39 +1,37 @@
 
-JBossTS 4.7.GA is designed for use standalone or with JBossAS 5.1.0.GA
+JBossTS 4.8.GA is designed for use standalone or with JBossAS 6 alpha
 It is not suitable for use with earlier versions of JBossAS.
 
 The installation procedure has changed from earlier releases due to the move from
-a JMX configuration style to the POJO microcontainer used by AS 5.x, packaging and config files changes.
+a JMX configuration style to the POJO microcontainer used by AS 6.x, packaging and config files changes.
 Upgrading users should take care to read the steps below carefully.
 
-Installing JBossTS 4.7.GA JTA into JBossAS 5.1.0.GA
+Installing JBossTS 4.8.GA JTA into JBossAS 6 alpha
 ------------------------------------------------------------
 
 The application server ships with an earlier release of JBossTS JTS, configured to run in JTA local mode,
 as its default transaction manager. It is not recommended to install the JTA only, but should you wish to
 do so the steps are as follows:
 
-- Delete JBossAS common/lib/jbossjts* and jbossts-common.jar
+- Delete JBossAS common/lib/jbossjts* common/lib/jbossts-common.jar and client/jbossjts*
 
-- Copy JBossTS lib/*.jar to JBossAS common/lib/
+- Copy JBossTS lib/*.jar to JBossAS common/lib/ and client/
 
-- Replace JBossAS server/xxx/conf/jbossts-properties.xml with JBossTS  etc/jbossts-properties.xml
+- Delete JBossAS server/<name>/conf/jbossts-properties.xml
 
+- Replace JBossAS server/<name>/deploy/transaction-jboss-beans.xml with the newer JBossTS version.
 
 
-Installing JBossTS 4.7.GA JTS into JBossAS 5.1.0.GA
+
+Installing JBossTS 4.8.GA JTS into JBossAS 6 alpha
 ------------------------------------------------------------
 
 The JTS binaries are now bundled with JBossAS. To change the default JTA to JTS in JBossAS,
 follow the instructions in the app server's docs/examples/transactions/README.txt file.
 
 To upgrade the version of JTS bundled with JBossAS to the one from this JBossTS release,
-locate and replace jbossjts.jar, jbossjts-integration.jar, jbossjts-jacorb.jar and the
-jbossts-properties.xml file in the app server tree with the versions from this release bundle.
-Delete any existing jbossts-common.jar file in the app server.
-Note that you must still install the JTS per the above instructions
-for it to take effect and that if you upgrade after installation there may be multiple
-copies of the files in the AS tree that need replacing.
+follow the install steps as for the JTA (see above), but install the JTS vesion of
+transaction-jboss-beans.xml ensuring that the selected server profile contains an ORB.
 
 
 
@@ -46,7 +44,7 @@
 Build and deploy from source
 ----------
 
-In JBossAS 5.x XTS is deployed as a service archive (sar) which can be
+In JBossAS 6.x XTS is deployed as a service archive (sar) which can be
 deployed with either the JTA or JTS Transaction Service
 implementation. This sar implements both the participant and the
 coordinator services required to support web service transactions. By

Added: labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml
===================================================================
--- labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml	                        (rev 0)
+++ labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml	2009-09-14 10:22:22 UTC (rev 29327)
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--
+        This is an example transaction-jboss-beans.xml file suitable for installing JBossTS 4.8 JTA
+        into AS 6.0 alpha. The canonical version of this file normally resides in the JBossAS svn
+        but right now JBossAS is running an earlier TS release, so we provide this file via the
+        JBossTS svn as an example to facilitate upgrading. Take care - some non-arjuna beans many have
+        changed in the AS svn since we forked this file, so you may need to merge rather than overwrite.
+        Full upgrade steps in the INSTALL file of the JBossTS release.
+        You need a different version of this file for JTS mode.
+        You don't need a jbossts-properties.xml in the AS anymore, it's all done by the beans below.
+
+         jonathan.halliday at redhat.com, 2009-09
+    -->
+
+    <bean name="LoggingEnvironmentBean" class="com.arjuna.common.internal.util.logging.LoggingEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=LoggingEnvironmentBean", exposedInterface=com.arjuna.common.internal.util.logging.LoggingEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.common.internal.util.logging.commonPropertyManager" factoryMethod="getLoggingEnvironmentBean"/>
+
+        <property name="loggingSystem">log4j_releveler</property>
+
+    </bean>
+
+    <bean name="RecoveryEnvironmentBean" class="com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=RecoveryEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.RecoveryEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.recoveryPropertyManager" factoryMethod="getRecoveryEnvironmentBean"/>
+
+        <property name="recoveryInetAddress">
+            <value-factory bean="ServiceBindingManager"
+                           method="getInetAddressBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>recoveryManager</parameter>
+            </value-factory>
+        </property>
+        <property name="recoveryPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding" >
+                <parameter>TransactionManager</parameter>
+                <parameter>recoveryManager</parameter>
+            </value-factory>
+        </property>
+
+        <property name="transactionStatusManagerInetAddress">
+            <value-factory bean="ServiceBindingManager"
+                           method="getInetAddressBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>transactionStatusManager</parameter>
+            </value-factory>
+        </property>
+        <property name="transactionStatusManagerPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding" >
+                <parameter>TransactionManager</parameter>
+                <parameter>transactionStatusManager</parameter>
+            </value-factory>
+        </property>
+
+        <property name="recoveryExtensions">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule</value>
+                <value>com.arjuna.ats.internal.txoj.recovery.TORecoveryModule</value>
+                <value>com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule</value>
+            </list>
+        </property>
+
+        <property name="expiryScanners">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner</value>
+            </list>
+        </property>
+
+        <property name="recoveryActivators">
+            <null/>
+        </property>
+
+    </bean>
+
+    <bean name="CoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoreEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=CoreEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.CoreEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getCoreEnvironmentBean"/>
+
+        <property name="socketProcessIdPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>socketProcessId</parameter>
+            </value-factory>
+        </property>
+
+        <property name="nodeIdentifier">1</property>
+
+    </bean>
+
+    <bean name="CoordinatorEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoordinatorEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=CoordinatorEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.CoordinatorEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getCoordinatorEnvironmentBean"/>
+
+        <property name="enableStatistics">false</property>
+        <property name="defaultTimeout">300</property>
+    </bean>
+
+    <bean name="ObjectStoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=ObjectStoreEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getObjectStoreEnvironmentBean"/>
+
+        <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
+    </bean>
+
+    <bean name="JTAEnvironmentBean" class="com.arjuna.ats.jta.common.JTAEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=JTAEnvironmentBean", exposedInterface=com.arjuna.ats.jta.common.JTAEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.jta.common.jtaPropertyManager" factoryMethod="getJTAEnvironmentBean"/>
+
+        <property name="lastResourceOptimisationInterface">org.jboss.tm.LastResource</property>
+
+        <property name="jtaTMImplementation">com.arjuna.ats.jbossatx.jta.TransactionManagerDelegate</property>
+        <property name="jtaUTImplementation">com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple</property>
+        <property name="jtaTSRImplementation">com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple</property>
+
+        <property name="xaRecoveryNodes">
+            <list elementClass="java.lang.String">
+                <value>1</value>
+            </list>
+        </property>
+        
+    </bean>
+
+    <bean name="RecoveryManager" class="com.arjuna.ats.jbossatx.jta.RecoveryManagerService">
+
+        <demand state="Create">LoggingEnvironmentBean</demand>
+        <demand state="Create">RecoveryEnvironmentBean</demand>
+
+    </bean>
+
+    <bean name="XATerminator" class="com.arjuna.ats.internal.jbossatx.jta.jca.XATerminator"/>
+
+    <bean name="TransactionSynchronizationRegistry" class="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionSynchronizationRegistryImple"/>
+
+    <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jta.TransactionManagerService">
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager", exposedInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class, registerDirectly=true)</annotation>
+        <annotation>@org.jboss.managed.api.annotation.ManagementObject(name="TransactionManager",componentType=@org.jboss.managed.api.annotation.ManagementComponent(type = "MCBean", subtype = "JTA"),targetInterface=com.arjuna.ats.jbossatx.jta.TransactionManagerServiceMBean.class)</annotation>
+
+        <property name="jbossXATerminator"><inject bean="XATerminator"/></property>
+        <property name="transactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
+
+        <demand state="Create">LoggingEnvironmentBean</demand>
+        <demand state="Create">RecoveryEnvironmentBean</demand>
+        <demand state="Create">CoreEnvironmentBean</demand>
+        <demand state="Create">CoordinatorEnvironmentBean</demand>
+        <demand state="Create">ObjectStoreEnvironmentBean</demand>
+        <demand state="Create">JTAEnvironmentBean</demand>
+        <demand>RecoveryManager</demand>
+
+        <!-- the TransactionManager itself does not depend on JNDI, but some things that expect to be able to do
+          JNDI lookups express a dependency on the TM rather than the JNDI bindings, so we need to placate them -->
+        <demand>TransactionManagerJNDIBinding</demand>
+        <demand>TransactionSynchronizationRegistryJNDIBinding</demand>
+        <demand>TransactionPropagationContextImporterJNDIBinding</demand>
+        <demand>TransactionPropagationContextExporterJNDIBinding</demand>
+
+    </bean>
+
+    <bean name="TransactionStatistics" class="com.arjuna.ats.arjuna.coordinator.TxStats">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=TransactionStatistics", exposedInterface=com.arjuna.ats.arjuna.coordinator.TxStatsMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.coordinator.TxStats" factoryMethod="getInstance"/>
+    </bean>
+
+    <bean name="TransactionManagerJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionManager</property>
+        <property name="className">
+            <inject bean="JTAEnvironmentBean" property="jtaTMImplementation"/>
+        </property>
+        <property name="factory">
+            <inject bean="JTAEnvironmentBean" property="jtaTMImplementation"/>
+        </property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+    <bean name="TransactionSynchronizationRegistryJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <!-- It's the job of individual components (EJB3, web, etc) to copy the ref to the java:/comp space) -->
+        <property name="bindName">java:/TransactionSynchronizationRegistry</property>
+        <property name="className">
+            <inject bean="JTAEnvironmentBean" property="jtaTSRImplementation"/>
+        </property>
+        <property name="factory">
+            <inject bean="JTAEnvironmentBean" property="jtaTSRImplementation"/>
+        </property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+
+    <bean name="TransactionPropagationContextImporterJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionPropagationContextImporter</property>
+        <property name="className">com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager</property>
+        <property name="factory">com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager</property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+    <bean name="TransactionPropagationContextExporterJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionPropagationContextExporter</property>
+        <property name="className">com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager</property>
+        <property name="factory">com.arjuna.ats.internal.jbossatx.jta.PropagationContextManager</property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+
+
+
+    <!-- Make javax.transaction.TransactionManager available for injection -->
+    <bean name="RealTransactionManager">
+      <constructor factoryMethod="getTransactionManager">
+        <factory bean="TransactionManager"/>
+      </constructor>
+    </bean>
+
+    <!-- Handles user transaction providers and listeners -->
+    <bean name="UserTransactionRegistry" class="org.jboss.tm.usertx.UserTransactionRegistry">
+      <!-- Register providers -->
+      <incallback method="addProvider"/>
+      <uncallback method="removeProvider"/>
+      <!-- Register listeners -->
+      <incallback method="addListener"/>
+      <uncallback method="removeListener"/>
+    </bean>
+
+    <!-- The provider for default in process UserTransactions -->
+    <bean name="DefaultUserTransactionprovider" class="org.jboss.tm.usertx.client.ServerVMClientUserTransaction">
+       <constructor factoryClass="org.jboss.tm.usertx.client.ServerVMClientUserTransaction" factoryMethod="getSingleton"/>
+       <demand>TransactionManager</demand>
+    </bean>
+
+</deployment>

Added: labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml.jts
===================================================================
--- labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml.jts	                        (rev 0)
+++ labs/jbosstm/trunk/atsintegration/transaction-jboss-beans.xml.jts	2009-09-14 10:22:22 UTC (rev 29327)
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--
+        This is an example transaction-jboss-beans.xml file suitable for installing JBossTS 4.8 JTS
+        into AS 6.0 alpha. The canonical version of this file normally resides in the JBossAS svn
+        but right now JBossAS is running an earlier TS release, so we provide this file via the
+        JBossTS svn as an example to facilitate upgrading. Take care - some non-arjuna beans many have
+        changed in the AS svn since we forked this file, so you may need to merge rather than overwrite.
+        Full upgrade steps in the INSTALL file of the JBossTS release.
+        You need a different version of this file for JTA mode.
+        You don't need a jbossts-properties.xml in the AS anymore, it's all done by the beans below.
+
+         jonathan.halliday at redhat.com, 2009-09
+    -->
+
+    <bean name="LoggingEnvironmentBean" class="com.arjuna.common.internal.util.logging.LoggingEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=LoggingEnvironmentBean", exposedInterface=com.arjuna.common.internal.util.logging.LoggingEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.common.internal.util.logging.commonPropertyManager" factoryMethod="getLoggingEnvironmentBean"/>
+
+        <property name="loggingSystem">log4j_releveler</property>
+
+    </bean>
+
+    <bean name="RecoveryEnvironmentBean" class="com.arjuna.ats.arjuna.common.RecoveryEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=RecoveryEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.RecoveryEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.recoveryPropertyManager" factoryMethod="getRecoveryEnvironmentBean"/>
+
+        <property name="recoveryInetAddress">
+            <value-factory bean="ServiceBindingManager"
+                           method="getInetAddressBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>recoveryManager</parameter>
+            </value-factory>
+        </property>
+        <property name="recoveryPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding" >
+                <parameter>TransactionManager</parameter>
+                <parameter>recoveryManager</parameter>
+            </value-factory>
+        </property>
+
+        <property name="transactionStatusManagerInetAddress">
+            <value-factory bean="ServiceBindingManager"
+                           method="getInetAddressBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>transactionStatusManager</parameter>
+            </value-factory>
+        </property>
+        <property name="transactionStatusManagerPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding" >
+                <parameter>TransactionManager</parameter>
+                <parameter>transactionStatusManager</parameter>
+            </value-factory>
+        </property>
+
+        <property name="recoveryExtensions">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule</value>
+                <value>com.arjuna.ats.internal.txoj.recovery.TORecoveryModule</value>
+                <value>com.arjuna.ats.internal.jts.recovery.transactions.TopLevelTransactionRecoveryModule</value>
+                <value>com.arjuna.ats.internal.jts.recovery.transactions.ServerTransactionRecoveryModule</value>
+                <value>com.arjuna.ats.internal.jta.recovery.jts.XARecoveryModule</value>
+            </list>
+        </property>
+
+        <property name="expiryScanners">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner</value>
+                <value>com.arjuna.ats.internal.jts.recovery.contact.ExpiredContactScanner</value>
+                <value>com.arjuna.ats.internal.jts.recovery.transactions.ExpiredToplevelScanner</value>
+                <value>com.arjuna.ats.internal.jts.recovery.transactions.ExpiredServerScanner</value>
+            </list>
+        </property>
+
+        <property name="recoveryActivators">
+            <list elementClass="java.lang.String">
+                <value>com.arjuna.ats.internal.jts.orbspecific.recovery.RecoveryEnablement</value>
+            </list>
+        </property>
+
+    </bean>
+
+    <bean name="CoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoreEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=CoreEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.CoreEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getCoreEnvironmentBean"/>
+
+        <property name="socketProcessIdPort">
+            <value-factory bean="ServiceBindingManager"
+                           method="getIntBinding">
+                <parameter>TransactionManager</parameter>
+                <parameter>socketProcessId</parameter>
+            </value-factory>
+        </property>
+
+        <property name="nodeIdentifier">1</property>
+
+    </bean>
+
+    <bean name="CoordinatorEnvironmentBean" class="com.arjuna.ats.arjuna.common.CoordinatorEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=CoordinatorEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.CoordinatorEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getCoordinatorEnvironmentBean"/>
+
+        <property name="enableStatistics">false</property>
+        <property name="defaultTimeout">300</property>
+    </bean>
+
+    <bean name="ObjectStoreEnvironmentBean" class="com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=ObjectStoreEnvironmentBean", exposedInterface=com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.common.arjPropertyManager" factoryMethod="getObjectStoreEnvironmentBean"/>
+
+        <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
+    </bean>
+
+    <bean name="JTAEnvironmentBean" class="com.arjuna.ats.jta.common.JTAEnvironmentBean">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=JTAEnvironmentBean", exposedInterface=com.arjuna.ats.jta.common.JTAEnvironmentBeanMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.jta.common.jtaPropertyManager" factoryMethod="getJTAEnvironmentBean"/>
+
+        <property name="lastResourceOptimisationInterface">org.jboss.tm.LastResource</property>
+
+        <property name="jtaTMImplementation">com.arjuna.ats.jbossatx.jts.TransactionManagerDelegate</property>
+        <property name="jtaUTImplementation">com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple</property>
+        <property name="jtaTSRImplementation">com.arjuna.ats.internal.jta.transaction.jts.TransactionSynchronizationRegistryImple</property>
+
+        <property name="xaRecoveryNodes">
+            <list elementClass="java.lang.String">
+                <value>1</value>
+            </list>
+        </property>
+
+    </bean>
+
+    <bean name="RecoveryManager" class="com.arjuna.ats.jbossatx.jts.RecoveryManagerService">
+
+        <constructor>
+            <parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter>
+        </constructor>
+
+        <demand state="Create">LoggingEnvironmentBean</demand>
+        <demand state="Create">RecoveryEnvironmentBean</demand>
+
+    </bean>
+
+    <bean name="XATerminator" class="com.arjuna.ats.internal.jbossatx.jts.jca.XATerminator"/>
+
+    <bean name="TransactionSynchronizationRegistry" class="com.arjuna.ats.internal.jta.transaction.jts.TransactionSynchronizationRegistryImple"/>
+
+    <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jts.TransactionManagerService">
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss:service=TransactionManager", exposedInterface=com.arjuna.ats.jbossatx.jts.TransactionManagerServiceMBean.class, registerDirectly=true)</annotation>
+        <annotation>@org.jboss.managed.api.annotation.ManagementObject(name="TransactionManager",componentType=@org.jboss.managed.api.annotation.ManagementComponent(type = "MCBean", subtype = "JTA"),targetInterface=com.arjuna.ats.jbossatx.jts.TransactionManagerServiceMBean.class)</annotation>
+
+        <property name="jbossXATerminator"><inject bean="XATerminator"/></property>
+        <property name="transactionSynchronizationRegistry"><inject bean="TransactionSynchronizationRegistry"/></property>
+        
+        <start>
+            <parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter>            
+        </start>
+
+        <demand state="Create">LoggingEnvironmentBean</demand>
+        <demand state="Create">RecoveryEnvironmentBean</demand>
+        <demand state="Create">CoreEnvironmentBean</demand>
+        <demand state="Create">CoordinatorEnvironmentBean</demand>
+        <demand state="Create">ObjectStoreEnvironmentBean</demand>
+        <demand state="Create">JTAEnvironmentBean</demand>
+        <demand>RecoveryManager</demand>
+
+        <!-- the TransactionManager itself does not depend on JNDI, but some things that expect to be able to do
+          JNDI lookups express a dependency on the TM rather than the JNDI bindings, so we need to placate them -->
+        <demand>TransactionManagerJNDIBinding</demand>
+        <demand>TransactionSynchronizationRegistryJNDIBinding</demand>
+        <demand>TransactionPropagationContextImporterJNDIBinding</demand>
+        <demand>TransactionPropagationContextExporterJNDIBinding</demand>
+
+    </bean>
+
+    <bean name="TransactionStatistics" class="com.arjuna.ats.arjuna.coordinator.TxStats">
+
+        <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.jta:name=TransactionStatistics", exposedInterface=com.arjuna.ats.arjuna.coordinator.TxStatsMBean.class, registerDirectly=true)</annotation>
+
+        <constructor factoryClass="com.arjuna.ats.arjuna.coordinator.TxStats" factoryMethod="getInstance"/>
+    </bean>
+
+    <bean name="TransactionManagerJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionManager</property>
+        <property name="className">
+            <inject bean="JTAEnvironmentBean" property="jtaTMImplementation"/>
+        </property>
+        <property name="factory">
+            <inject bean="JTAEnvironmentBean" property="jtaTMImplementation"/>
+        </property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+    <bean name="TransactionSynchronizationRegistryJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <!-- It's the job of individual components (EJB3, web, etc) to copy the ref to the java:/comp space) -->
+        <property name="bindName">java:/TransactionSynchronizationRegistry</property>
+        <property name="className">
+            <inject bean="JTAEnvironmentBean" property="jtaTSRImplementation"/>
+        </property>
+        <property name="factory">
+            <inject bean="JTAEnvironmentBean" property="jtaTSRImplementation"/>
+        </property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+
+    <bean name="TransactionPropagationContextImporterJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionPropagationContextImporter</property>
+        <property name="className">com.arjuna.ats.internal.jbossatx.jts.PropagationContextManager</property>
+        <property name="factory">com.arjuna.ats.internal.jbossatx.jts.PropagationContextManager</property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+    <bean name="TransactionPropagationContextExporterJNDIBinding" class="com.arjuna.ats.jta.utils.JNDIReferenceBindingBean">
+
+        <property name="bindName">java:/TransactionPropagationContextExporter</property>
+        <property name="className">com.arjuna.ats.internal.jbossatx.jts.PropagationContextManager</property>
+        <property name="factory">com.arjuna.ats.internal.jbossatx.jts.PropagationContextManager</property>
+
+        <install method="bind"/>
+        <uninstall method="unbind"/>
+    </bean>
+
+
+
+
+    <!-- Make javax.transaction.TransactionManager available for injection -->
+    <bean name="RealTransactionManager">
+      <constructor factoryMethod="getTransactionManager">
+        <factory bean="TransactionManager"/>
+      </constructor>
+    </bean>
+
+    <!-- Handles user transaction providers and listeners -->
+    <bean name="UserTransactionRegistry" class="org.jboss.tm.usertx.UserTransactionRegistry">
+      <!-- Register providers -->
+      <incallback method="addProvider"/>
+      <uncallback method="removeProvider"/>
+      <!-- Register listeners -->
+      <incallback method="addListener"/>
+      <uncallback method="removeListener"/>
+    </bean>
+
+    <!-- The provider for default in process UserTransactions -->
+    <bean name="DefaultUserTransactionprovider" class="org.jboss.tm.usertx.client.ServerVMClientUserTransaction">
+       <constructor factoryClass="org.jboss.tm.usertx.client.ServerVMClientUserTransaction" factoryMethod="getSingleton"/>
+       <demand>TransactionManager</demand>
+    </bean>
+
+</deployment>



More information about the jboss-svn-commits mailing list