-
1. Re: Deploying TransactionManager in Microcontainer standalon
jhalliday Feb 3, 2009 12:27 PM (in response to emmartins)What versions and what's the error?
-
2. Re: Deploying TransactionManager in Microcontainer standalon
emmartins Feb 3, 2009 12:31 PM (in response to emmartins)I'm importing the component matrix dependendy management from AS 5.0.0.GA, so it seems to be 4.4.0.GA
Here is the test run log:------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.mobicents.slee.runtime.transaction.TestCase 0 DEBUG [TestCase] ==== setUp org.mobicents.slee.runtime.transaction.TestCase ==== 13 DEBUG [KernelFactory] Starting JBoss Kernel construction... 159 DEBUG [KernelFactory] Completed JBoss Kernel construction. Duration: 145 milliseconds 193 DEBUG [TestCase] Deploying file:/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/target/test-classes/org/mobicents/slee/runtime/transaction/TestCase.xml 228 DEBUG [SaxJBossXBParser] Created parser: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@496e57, isNamespaceAware: true, isValidating: true, isXIncludeAware: true 231 DEBUG [SaxJBossXBParser] http://xml.org/sax/features/validation set to: true 231 DEBUG [SaxJBossXBParser] http://xml.org/sax/features/namespaces set to: true 231 DEBUG [SaxJBossXBParser] http://apache.org/xml/features/validation/dynamic set to: true 253 DEBUG [SaxJBossXBParser] Created parser: com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl@496e57, isNamespaceAware: true, isValidating: true, isXIncludeAware: true 1348 INFO [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc. 1349 INFO [TransactionManagerService] Setting up property manager MBean and JMX layer 1395 WARN [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TxControl_1] - Name of XA node not defined. Using -53e0fec0:c439:49887b11:0 1430 DEBUG [arjLogger] ShadowingStore.ShadowingStore( 14 ) 1430 DEBUG [arjLogger] ShadowNoFileLockStore.ShadowNoFileLockStore( 14 ) 1431 DEBUG [arjLogger] HashedStore.HashedStore( 14 ) 1431 DEBUG [arjLogger] HashedStore.HashedActionStore() 1431 DEBUG [arjLogger] FileSystemStore.setupStore() 1431 DEBUG [arjLogger] FileSystemStore.createHierarchy(/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/ObjectStore/HashedActionStore/defaultStore/) 1433 INFO [arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_1] - Starting service com.arjuna.ats.arjuna.recovery.ActionStatusService on port 50234 1434 INFO [arjLogger] TransactionStatusManagerItem - host: 127.0.0.1 port: 50234 1436 DEBUG [arjLogger] OutputObjectState::OutputObjectState() 1436 DEBUG [arjLogger] ShadowingStore.ShadowingStore( 14 ) 1436 DEBUG [arjLogger] ShadowNoFileLockStore.ShadowNoFileLockStore( 14 ) 1436 DEBUG [arjLogger] HashedStore.HashedStore( 14 ) 1436 DEBUG [arjLogger] HashedStore.HashedActionStore() 1436 DEBUG [arjLogger] FileSystemStore.setupStore() 1436 DEBUG [arjLogger] FileSystemStore.createHierarchy(/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/ObjectStore/HashedActionStore/defaultStore/) 1436 DEBUG [arjLogger] FileSystemStore.write_committed(-53e0fec0:c439:49887b11:1, /Recovery/TransactionStatusManager) 1436 DEBUG [arjLogger] ShadowingStore.write_state(-53e0fec0:c439:49887b11:1, /Recovery/TransactionStatusManager, ObjectStore.OS_ORIGINAL) 1437 DEBUG [arjLogger] HashedStore.genPathName(-53e0fec0:c439:49887b11:1, /Recovery/TransactionStatusManager, ObjectStore.OS_ORIGINAL) 1439 DEBUG [arjLogger] ShadowingStore.openAndLock(/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/ObjectStore/HashedActionStore/defaultStore/Recovery/TransactionStatusManager/#91#/-53e0fec0_c439_49887b11_1, FileLock.F_WRLCK, true) 1439 DEBUG [arjLogger] FileSystemStore.createHierarchy(/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/ObjectStore/HashedActionStore/defaultStore/Recovery/TransactionStatusManager/#91#/-53e0fec0_c439_49887b11_1) 1441 DEBUG [arjLogger] ShadowingStore.closeAndUnlock(/Volumes/2/workspace/mobicents-jainslee-server-2.x.y/core/transaction/ObjectStore/HashedActionStore/defaultStore/Recovery/TransactionStatusManager/#91#/-53e0fec0_c439_49887b11_1, null, java.io.FileOutputStream@39af80) 1441 INFO [arjLoggerI18N] [com.arjuna.ats.arjuna.recovery.TransactionStatusManager_3] - TransactionStatusManager started on port 50234 and host 127.0.0.1 with service com.arjuna.ats.arjuna.recovery.ActionStatusService 1455 INFO [tsmxLogger] Registering mbean for module 'arjuna' 1457 DEBUG [tsmxLogger] TransactionService Management Extentions initialising 1458 INFO [tsmxLogger] Initialising JMX agent com.arjuna.ats.internal.jbossatx.agent.LocalJBossAgentImpl 1458 DEBUG [tsmxLogger] Registering transaction service mbeans 1463 DEBUG [arjLogger] TransactionReaper::create ( 120000 ) 1463 DEBUG [arjLogger] TransactionReaper::TransactionReaper ( 120000 ) 1468 DEBUG [arjLogger] ReaperThread.run () 1473 DEBUG [arjLogger] ReaperWorkerThread.run () 1473 DEBUG [arjLoggerI18N] [com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkThread_1] - Thread Thread[Thread-3,5,main] waiting for cancelled TXs 1473 DEBUG [arjLoggerI18N] [com.arjuna.ats.internal.arjuna.coordinator.ReaperThread_1] - Thread Thread[Thread-2,5,main] sleeping for 120000 1476 FATAL [TransactionManagerService] Failed to create and register Propagation Context Manager javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284) at javax.naming.InitialContext.bind(InitialContext.java:359) at com.arjuna.ats.jbossatx.jta.TransactionManagerService.bindRef(TransactionManagerService.java:683) at com.arjuna.ats.jbossatx.jta.TransactionManagerService.create(TransactionManagerService.java:191) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59) at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150) at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241) at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70) at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:331) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:309) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130) at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76) at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:88) at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:158) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:294) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:438) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.setUp(MicrocontainerTestDelegate.java:83) at org.jboss.test.AbstractTestSetup.setUp(AbstractTestSetup.java:63) at org.jboss.test.AbstractTestCaseWithSetup.setUp(AbstractTestCaseWithSetup.java:103) at org.jboss.test.kernel.junit.MicrocontainerTest.setUp(MicrocontainerTest.java:85) at junit.framework.TestCase.runBare(TestCase.java:128) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:228) at junit.framework.TestSuite.run(TestSuite.java:223) at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) at org.apache.maven.surefire.Surefire.run(Surefire.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) 1477 INFO [TransactionManagerService] Initializing recovery manager 1498 INFO [arjLogger] --- Start RecoveryActivators 1502 DEBUG [arjLoggerI18N] [com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor_3] - No Expiry scanners loaded - not scanning 1504 INFO [arjLoggerI18N] [com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery_13] - Recovery manager listening on endpoint 127.0.0.1:50,235 1504 DEBUG [arjLogger] PeriodicRecovery: starting listener worker thread 1504 INFO [arjLoggerI18N] [com.arjuna.ats.internal.arjuna.recovery.ready] RecoveryManagerImple is ready on port 50,235 1504 INFO [TransactionManagerService] Recovery manager configured 1504 INFO [TransactionManagerService] Binding TransactionManager JNDI Reference 1522 ERROR [AbstractKernelController] Error installing to Create: name=TransactionManager state=Configured javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284) at javax.naming.InitialContext.rebind(InitialContext.java:367) at com.arjuna.ats.jta.utils.JNDIManager.bindJTATransactionManagerImplementation(JNDIManager.java:108) at com.arjuna.ats.jta.utils.JNDIManager.bindJTATransactionManagerImplementation(JNDIManager.java:92) at com.arjuna.ats.jbossatx.jta.TransactionManagerService.create(TransactionManagerService.java:242) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:59) at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150) at org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241) at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109) at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70) at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal(LifecycleAction.java:221) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51) at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598) at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062) at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:774) at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:540) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:331) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:309) at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:130) at org.jboss.kernel.plugins.deployment.BasicKernelDeployer.deploy(BasicKernelDeployer.java:76) at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:88) at org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer.deploy(BasicXMLDeployer.java:158) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:294) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.deploy(MicrocontainerTestDelegate.java:438) at org.jboss.test.kernel.junit.MicrocontainerTestDelegate.setUp(MicrocontainerTestDelegate.java:83) at org.jboss.test.AbstractTestSetup.setUp(AbstractTestSetup.java:63) at org.jboss.test.AbstractTestCaseWithSetup.setUp(AbstractTestCaseWithSetup.java:103) at org.jboss.test.kernel.junit.MicrocontainerTest.setUp(MicrocontainerTest.java:85) at junit.framework.TestCase.runBare(TestCase.java:128) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:120) at junit.framework.TestSuite.runTest(TestSuite.java:228) at junit.framework.TestSuite.run(TestSuite.java:223) at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) at org.apache.maven.surefire.Surefire.run(Surefire.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) 1557 DEBUG [TestCase] ==== Starting test ==== 1559 DEBUG [TestCase] No method specific deployment /org/mobicents/slee/runtime/transaction/TestCase#test.xml Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.635 sec <<< FAILURE! Results : Tests in error: test(org.mobicents.slee.runtime.transaction.TestCase) Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
Here is the beans config:<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="urn:jboss:bean-deployer:2.0"> <bean name="MBeanServerLocator" class="org.mobicents.slee.runtime.transaction.MBeanServerLocator"> </bean> <bean name="Mobicents.JAINSLEE.TransactionManagerMBean" class="org.mobicents.slee.runtime.transaction.SleeTransactionManagerImpl"> <!-- jboss as tx manager bean --> <constructor> <parameter><inject bean="RealTransactionManager"/></parameter> </constructor> </bean> <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> <property name="transactionTimeout">300</property> <property name="mbeanServer"><inject bean="MBeanServerLocator" property="mbeanServer"/></property> <!-- <property name="objectStoreDir">${jboss.server.data.dir}/tx-object-store</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="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="socketProcessIdPort">0</property> </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>
-
3. Re: Deploying TransactionManager in Microcontainer standalon
jhalliday Feb 3, 2009 12:35 PM (in response to emmartins)You've got a JNDI provider configured somewhere, right? It seems to be the JNDI bindings that are failing...
-
4. Re: Deploying TransactionManager in Microcontainer standalon
emmartins Feb 3, 2009 12:48 PM (in response to emmartins)Is there a way to not use ServiceBindingManager and JNDI? I would like to avoid adding more AS components to the tests...
-
5. Re: Deploying TransactionManager in Microcontainer standalon
jhalliday Feb 3, 2009 12:53 PM (in response to emmartins)yes but you'll need to throw away TransactionManagerService entirely then and do it programatically in your test suite setup code:
TransactionManager tm = new com.arjuna.ats.internal.jta.transaction.arjjunacore.TransactionManagerImple();
That won't get you a working recovery system, but it should do basic transactions ok. -
6. Re: Deploying TransactionManager in Microcontainer standalon
emmartins Feb 3, 2009 1:09 PM (in response to emmartins)Exactly what I was looking for. Thanks :-)
For other forum users who may search for the same thing, here it is the microcontainer beans-xml I used:<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="urn:jboss:bean-deployer:2.0"> <bean name="Mobicents.JAINSLEE.TransactionManagerMBean" class="org.mobicents.slee.runtime.transaction.SleeTransactionManagerImpl"> <!-- jboss as tx manager bean --> <constructor> <parameter><inject bean="RealTransactionManager"/></parameter> </constructor> </bean> <bean name="RealTransactionManager" class="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple" /> </deployment>
-
7. Re: Deploying TransactionManager in Microcontainer standalon
emmartins Feb 3, 2009 4:47 PM (in response to emmartins)A little bit off-topic, probably more a JTA doubt that JBossTS, but if Transaction.commit() is used (instead of TransactionManager.commit()) and succeeds a follow up TransactionManager.begin() fails, it is impossible to start a new transaction on the same thread?
-
8. Re: Deploying TransactionManager in Microcontainer standalon
jhalliday Feb 3, 2009 6:09 PM (in response to emmartins)The JTA spec says TransactionManager.commit() not only stops the tx, it also dissociates it from the Thread. No such requirement is placed on Transaction.commit() and in the case of JBossTS it does not do the Thread dissociation bit.
Since nested tx are not allowed in JTA, a subsequent begin on the same Thread will therefore fail. Use TransactionManager.commit(), or if you must use Transaction.commit(), then call suspend to decouple the tx from the Thread before doing another begin() -
9. Re: Deploying TransactionManager in Microcontainer standalon
emmartins Feb 3, 2009 6:44 PM (in response to emmartins)Thanks once again, valuable info ;-)