[jboss-cvs] JBossAS SVN: r97792 - in trunk: component-matrix and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Dec 14 11:16:19 EST 2009
Author: jhalliday
Date: 2009-12-14 11:16:18 -0500 (Mon, 14 Dec 2009)
New Revision: 97792
Added:
trunk/jbossas-transactions/transaction-jboss-beans-for-jts.xml
Modified:
trunk/build/build.xml
trunk/build/pom.xml
trunk/component-matrix/pom.xml
trunk/iiop/pom.xml
trunk/jbossas-transactions/README.txt
trunk/jbossas-transactions/build.xml
trunk/server/src/etc/deploy/transaction-jboss-beans.xml
trunk/testsuite/build.xml
trunk/testsuite/src/main/org/jboss/test/crashrecovery/taskdefs/TransactionLog.java
Log:
Upgrade JBossTS to 4.9.0.GA. JBAS-7022
Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/build/build.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -1982,8 +1982,6 @@
<fileset refid="org.jboss.naming:jnpserver:jar"/>
<fileset refid="jboss.jbossts:jbossjts:jar"/>
<fileset refid="jboss.jbossts:jbossjts-integration:jar"/>
- <fileset refid="jboss.jbossts:jbossjts-jacorb:jar"/>
- <fileset refid="jboss.jbossts:jbossts-common:jar"/>
<fileset refid="org.jboss.remoting:jboss-remoting:jar"/>
<fileset refid="jboss:jboss-serialization:jar"/>
<fileset refid="org.jboss.ejb3:jboss-ejb3-cache:jar"/>
@@ -2243,18 +2241,10 @@
</patternset>
</unzip>
- <unjar src="${jboss.jbossts:resources:jar}" dest="${install.all.conf}">
- <patternset>
- <include name="resources/jbossts-properties.xml-forJTA"/>
- </patternset>
- <mapper type="glob" from="resources/jbossts-properties.xml-forJTA" to="jbossts-properties.xml"/>
- </unjar>
-
<!-- in in JTS mode the client needs some impl classes to make ClientUserTransaction work -->
<copy todir="${install.client}" filtering="no">
<fileset refid="jboss.jbossts:jbossjts:jar"/>
<fileset refid="jboss.jbossts:jbossjts-integration:jar"/>
- <fileset refid="jboss.jbossts:jbossjts-jacorb:jar"/>
<mapper refid="remove-versions" />
</copy>
@@ -2275,18 +2265,13 @@
<fileset refid="jboss.jbossts:jbossxts:sar"/>
<mapper refid="remove-versions" />
</copy>
- <unjar src="${jboss.jbossts:resources:jar}" dest="${install.examples}/transactions/">
- <patternset>
- <include name="resources/jbossts-properties.xml-forJTS"/>
- </patternset>
- <mapper type="glob" from="resources/jbossts-properties.xml-forJTS" to="jbossts-properties.xml"/>
- </unjar>
<!-- copy JBossTS additions install script and instructions from jbossas-transactions module -->
<copy todir="${install.examples}/transactions" filtering="no">
<fileset dir="${project.root}/jbossas-transactions">
<include name="README.txt"/>
<include name="build.xml"/>
+ <include name="transaction-jboss-beans-for-jts.xml"/>
</fileset>
</copy>
Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/build/pom.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -251,14 +251,6 @@
</dependency>
<dependency>
<groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts-jacorb</artifactId>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>jbossts-common</artifactId>
- </dependency>
- <dependency>
- <groupId>jboss.jbossts</groupId>
<artifactId>jbossts-tools</artifactId>
<type>sar</type>
<scope>runtime</scope>
@@ -270,10 +262,6 @@
<scope>runtime</scope>
</dependency>
<dependency>
- <groupId>jboss.jbossts</groupId>
- <artifactId>resources</artifactId>
- </dependency>
- <dependency>
<groupId>jboss.messaging</groupId>
<artifactId>jboss-messaging</artifactId>
</dependency>
Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/component-matrix/pom.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -39,7 +39,7 @@
<version.javax.faces>2.0.1-FCS</version.javax.faces>
<version.javax.validation>1.0.0.GA</version.javax.validation>
<version.jboss.jaxr>1.2.1.GA</version.jboss.jaxr>
- <version.jboss.jbossts>4.6.1.GA</version.jboss.jbossts>
+ <version.jboss.jbossts>4.9.0.GA</version.jboss.jbossts>
<version.jaxws.api>2.1</version.jaxws.api>
<version.jsr181.api>1.0-MR1</version.jsr181.api>
<version.jboss.jbossws-common>1.2.1.GA</version.jboss.jbossws-common>
@@ -816,12 +816,6 @@
<dependency>
<groupId>jboss.jbossts</groupId>
- <artifactId>jbossts-common</artifactId>
- <version>${version.jboss.jbossts}</version>
- </dependency>
-
- <dependency>
- <groupId>jboss.jbossts</groupId>
<artifactId>jbossjts</artifactId>
<version>${version.jboss.jbossts}</version>
</dependency>
@@ -834,12 +828,6 @@
<dependency>
<groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts-jacorb</artifactId>
- <version>${version.jboss.jbossts}</version>
- </dependency>
-
- <dependency>
- <groupId>jboss.jbossts</groupId>
<artifactId>jbossts-tools</artifactId>
<version>${version.jboss.jbossts}</version>
<type>sar</type>
@@ -847,12 +835,6 @@
<dependency>
<groupId>jboss.jbossts</groupId>
- <artifactId>resources</artifactId>
- <version>${version.jboss.jbossts}</version>
- </dependency>
-
- <dependency>
- <groupId>jboss.jbossts</groupId>
<artifactId>jbossxts</artifactId>
<version>${version.jboss.jbossts}</version>
<type>sar</type>
Modified: trunk/iiop/pom.xml
===================================================================
--- trunk/iiop/pom.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/iiop/pom.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -147,7 +147,7 @@
<dependency>
<groupId>jboss.jbossts</groupId>
- <artifactId>jbossjts-jacorb</artifactId>
+ <artifactId>jbossjts</artifactId>
</dependency>
<dependency>
Modified: trunk/jbossas-transactions/README.txt
===================================================================
--- trunk/jbossas-transactions/README.txt 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/jbossas-transactions/README.txt 2009-12-14 16:16:18 UTC (rev 97792)
@@ -6,33 +6,12 @@
full distributed transaction support, run 'ant jts' or follow the steps below.
- By default the transaction libraries are installed in JBOSS_HOME/common/lib and used by every server configuration.
- Each server configuration has its own transaction config file, JBOSS_HOME/server/<config>/conf/jbossts-properties.xml
+ Each server configuration has its own transaction config file, JBOSS_HOME/server/<config>/deploy/transaction-jboss-beans.xml
- To replace the JTA with JTS for a single server <config> dir:
- For each server using the JTS, delete JBOSS_HOME/server/<config>/conf/jbossts-properties.xml
- and copy jbossts-properties.xml from this dir to JBOSS_HOME/server/<config>/conf/ instead.
+ For each server using the JTS, overwrite JBOSS_HOME/server/<config>/deploy/transaction-jboss-beans.xml
+ with the contents of transaction-jboss-beans-for-jts.xml
- - complete the installation by making the following edits to the server configuration
- (These are difficult to automate with ant and hence are manual steps for now)
-
- - edit the conf/jbossts-properties.xml file and remove the
- recovery extension property containing the value
- "com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"
-
- - In deploy/transaction-jboss-beans.xml, update the TransactionManager class and dependencies as follows:
-
- <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>
-
- ...
- <start>
- <parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter>
- </start>
- ...
- </bean>
-
- Edit the conf/jacorb.properies as follows.
- change the jacorb.poa.thread_pool_max property to 32
Modified: trunk/jbossas-transactions/build.xml
===================================================================
--- trunk/jbossas-transactions/build.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/jbossas-transactions/build.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -56,10 +56,11 @@
<!-- rename the JTA version of the properties file rather than deleting it,
as it may have customizations we don't want to lose. -->
- <move file="${target.server.dir}/conf/jbossts-properties.xml"
- tofile="${target.server.dir}/conf/jbossts-properties-old-for-jta.xml"/>
+ <move file="${target.server.dir}/deploy/transaction-jboss-beans.xml"
+ tofile="${target.server.dir}/deploy/transaction-jboss-beans-old-for-jta.xml"/>
- <copy file="jbossts-properties.xml" todir="${target.server.dir}/conf/"/>
+ <copy file="transaction-jboss-beans-for-jts.xml"
+ tofile="${target.server.dir}/deploy/transaction-jboss-beans.xml"/>
<echo message="Transaction service configuration file installed."/>
@@ -75,37 +76,6 @@
<target name="modify-jts-config-files">
<!--
- edit the conf/jbossts-properties.xml file and remove the
- recovery extension property containing the value
- "com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"
- -->
- <replaceregexp
- file="${server.dir}/conf/jbossts-properties.xml"
- match="<property\s+name=.com\.arjuna\.ats\.arjuna\.recovery\.recoveryExtension\d+.\s*value=.com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.\s*/>"
- replace="" />
-
-
- <!--
- In deploy/transaction-jboss-beans.xml, update the TransactionManager class and dependencies as follows:
- <bean name="TransactionManager" class="com.arjuna.ats.jbossatx.jts.TransactionManagerService">
- ...
- <start>
- <parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter>
- </start>
- ...
- </bean>
- -->
- <replaceregexp byline="true"
- file="${server.dir}/deploy/transaction-jboss-beans.xml"
- match="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
- replace="com.arjuna.ats.jbossatx.jts.TransactionManagerService" />
-
- <replaceregexp
- file="${server.dir}/deploy/transaction-jboss-beans.xml"
- match="</bean>"
- replace=" <start><parameter><inject bean="jboss:service=CorbaORB" property="ORB"/></parameter></start> </bean>" />
-
- <!--
Edit the conf/jacorb.properies as follows.
- change the jacorb.poa.thread_pool_max property to 32
-->
Added: trunk/jbossas-transactions/transaction-jboss-beans-for-jts.xml
===================================================================
--- trunk/jbossas-transactions/transaction-jboss-beans-for-jts.xml (rev 0)
+++ trunk/jbossas-transactions/transaction-jboss-beans-for-jts.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -0,0 +1,269 @@
+<?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.9 JTS into AS 6.0 alpha.
+ 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="loggingFactory">com.arjuna.common.internal.util.logging.jakarta.JakartaRelevelingLogFactory;com.arjuna.common.internal.util.logging.jakarta.Log4JLogger</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" preinstantiate="false">
+ <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" preinstantiate="false">
+ <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" preinstantiate="false">
+ <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" preinstantiate="false">
+ <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>
Modified: trunk/server/src/etc/deploy/transaction-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deploy/transaction-jboss-beans.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/server/src/etc/deploy/transaction-jboss-beans.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -1,55 +1,241 @@
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <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>
+ <!--
+ This is an example transaction-jboss-beans.xml file suitable for installing
+ JBossTS 4.9 JTA into AS 6.0 alpha.
+ You need a different version of this file for JTS mode (try docs/examples/transactions/).
+ You don't need a jbossts-properties.xml in the AS anymore, it's all done by the beans below.
- <property name="transactionTimeout">300</property>
- <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</property>
- <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ jonathan.halliday at redhat.com, 2009-09
+ -->
- <property name="transactionStatusManagerInetAddress">
+ <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="loggingFactory">com.arjuna.common.internal.util.logging.jakarta.JakartaRelevelingLogFactory;com.arjuna.common.internal.util.logging.jakarta.Log4JLogger</property>
+ <!--<property name="loggingFactory">com.arjuna.ats.internal.jbossatx.logging.JBossLogFactory</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>transactionStatusManager</parameter>
+ <parameter>recoveryManager</parameter>
</value-factory>
</property>
- <property name="transactionStatusManagerPort">
+ <property name="recoveryPort">
<value-factory bean="ServiceBindingManager"
method="getIntBinding" >
<parameter>TransactionManager</parameter>
- <parameter>transactionStatusManager</parameter>
+ <parameter>recoveryManager</parameter>
</value-factory>
</property>
- <property name="recoveryInetAddress">
+ <property name="transactionStatusManagerInetAddress">
<value-factory bean="ServiceBindingManager"
method="getInetAddressBinding">
<parameter>TransactionManager</parameter>
- <parameter>recoveryManager</parameter>
+ <parameter>transactionStatusManager</parameter>
</value-factory>
</property>
- <property name="recoveryPort">
+ <property name="transactionStatusManagerPort">
<value-factory bean="ServiceBindingManager"
method="getIntBinding" >
<parameter>TransactionManager</parameter>
- <parameter>recoveryManager</parameter>
+ <parameter>transactionStatusManager</parameter>
</value-factory>
</property>
- <property name="socketProcessIdPort">0</property>
+ <property name="recoveryExtensions" preinstantiate="false">
+ <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" preinstantiate="false">
+ <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" preinstantiate="false">
+ <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 -->
Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/testsuite/build.xml 2009-12-14 16:16:18 UTC (rev 97792)
@@ -360,7 +360,6 @@
<!-- needed for jbossts crash recovery tests -->
<fileset refid="org.jboss.jbossas:jboss-server-manager:jar"/>
- <fileset refid="jboss.jbossts:jbossts-common:jar"/>
<fileset refid="jboss.jbossts:jbossjts:jar"/>
<fileset refid="jboss.jbossts:jbossjts-integration:jar"/>
Modified: trunk/testsuite/src/main/org/jboss/test/crashrecovery/taskdefs/TransactionLog.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/crashrecovery/taskdefs/TransactionLog.java 2009-12-14 16:13:34 UTC (rev 97791)
+++ trunk/testsuite/src/main/org/jboss/test/crashrecovery/taskdefs/TransactionLog.java 2009-12-14 16:16:18 UTC (rev 97792)
@@ -22,10 +22,13 @@
import com.arjuna.ats.arjuna.objectstore.ObjectStore;
import com.arjuna.ats.arjuna.common.Uid;
-import com.arjuna.ats.arjuna.gandiva.ClassName;
+import com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean;
+import com.arjuna.ats.arjuna.common.arjPropertyManager;
import com.arjuna.ats.arjuna.exceptions.ObjectStoreException;
import com.arjuna.ats.arjuna.state.InputObjectState;
import com.arjuna.ats.arjuna.AtomicAction;
+import com.arjuna.ats.arjuna.coordinator.TxControl;
+import com.arjuna.ats.internal.arjuna.common.UidHelper;
import java.util.ArrayList;
import java.util.Collection;
@@ -49,12 +52,24 @@
private void init(String storeDir, String impleType)
{
- System.setProperty("com.arjuna.ats.arjuna.objectstore.objectStoreDir", storeDir);
+ ObjectStoreEnvironmentBean objectStoreEnvironmentBean = arjPropertyManager.getObjectStoreEnvironmentBean();
+ objectStoreEnvironmentBean.setObjectStoreDir(storeDir);
- if (impleType != null)
- store = new ObjectStore(new ClassName(impleType), (String) null);
- else
- store = new ObjectStore();
+ if (impleType != null)
+ {
+ try
+ {
+ Class c = Class.forName(impleType);
+
+ store = (ObjectStore) c.newInstance();
+ }
+ catch (final Throwable ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ else
+ store = TxControl.getStore();
}
/**
@@ -117,25 +132,27 @@
if (store.allObjUids(theName, uids))
{
- try
- {
- boolean endOfUids = false;
- while (!endOfUids)
- {
- Uid theUid = new Uid(Uid.nullUid());
- theUid.unpack(uids);
+ Uid theUid;
- if (theUid.equals(Uid.nullUid()))
- endOfUids = true;
- else
- ids.add(theUid);
- }
- }
- catch (Exception e)
- {
- // end of uids!
- }
+ try
+ {
+ boolean endOfUids = false;
+
+ while (!endOfUids)
+ {
+ theUid = UidHelper.unpackFrom(uids);
+
+ if (theUid.equals(Uid.nullUid()))
+ endOfUids = true;
+ else
+ ids.add(theUid);
+ }
+ }
+ catch (Exception e)
+ {
+ // end of uids!
+ }
}
System.out.println();
More information about the jboss-cvs-commits
mailing list