-
1. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 5, 2008 11:47 AM (in response to yuvalry)That would probably be because the JTS is broken on 4.2 Wait for EAP 5.0, I've just finished writing the JTS tx context propagation code for that and it rocks.
-
2. Re: Transaction Recovery using two EJBs on two different mac
ana.tudosa Feb 5, 2008 12:45 PM (in response to yuvalry)Hi,
Assuming we cannot wait untill the Jboss 5.0 will be out, could you please suggest another solution?
Again I assumed that by EAP 5.0 means Jboss 5 :-D
Thanks,
Ana -
3. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 5, 2008 6:12 PM (in response to yuvalry)> Assuming we cannot wait untill the Jboss 5.0 will be out, could you please suggest another solution?
Yes, two actually. Fix the JTS for 4.2 and contribute your patches back the community. Or hop on a plane to JBossWorld in Orlando next week and buy me lots of drinks.
> Again I assumed that by EAP 5.0 means Jboss 5 :-D
JBoss is a division of Red Hat. Did you mean JBossAS 5.0? :-) I was very specific in the phrasing... I'm committed to making JTS work for EAP 5.0 i.e. the paying customers of the Enterprise Application Platform. As a side effect of that it will probably work on JBossAS 5.0 too, but no guarantees. -
4. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 7:30 AM (in response to yuvalry)Hello All,
I have exactly the same problem as yuvalry. Is using JBossAS 4.0.x an option? Because JBoss Transactions 4.2.3.SPx JTS should work with this JBossAS version (see http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossTransactionsVersionGuide for details)
I didn't try using JTS with JBossAS 4.0.x because I need EJB 3.0 support. There is a patch for integrating EJB 3.0 in JBossAS 4.0.x, but that didn't work...
@yuvalry: how exactly did you replace JTA with JTS in JBossAS 4.2.2GA? I followed the installation instructions that come along with JBossTS, but after that JBossAS wouldn't start without Exceptions...
@jhalliday: any suggestions on fixing the EJB 3.0 problem with JBossAS 4.0.x? And does JTS really work with JBossAS 4.0.x? Coming over to Orlando is not an option for me :p -
5. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 7:35 AM (in response to yuvalry)What are the exceptions you get on 4.2.2? it should work well enough to start up without errors at least...
-
6. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 8:02 AM (in response to yuvalry)Hi jhalliday,
thx for quick reply! I am using JBossAS 4.2.1GA and tried to patch it with JBossTS 4.2.3SP7. I can't tell you what Exceptions I got exactly, because I returned to JTA. It was somehow caused by CorbaORB from the JTS configuratio in jboss-service.xml:<!-- JBoss Transactions JTS --> <mbean code="com.arjuna.ats.jbossatx.jts.TransactionManagerService" name="jboss:service=TransactionManager"> <depends>jboss:service=CorbaORB</depends> <attribute name="TransactionTimeout">300</attribute> </mbean>
But if I don't get the transaction rolled back on a remote JBossAS instance even if I use JTS I won't use JTS anyway.
Cheers -
7. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 8:05 AM (in response to yuvalry)The known issues with JTS relate to RMI/IIOP tx propagation. If you are using JRMP for the business method calls it should provide distributed tx behaviour.
-
8. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 8:16 AM (in response to yuvalry)"jhalliday" wrote:
The known issues with JTS relate to RMI/IIOP tx propagation. If you are using JRMP for the business method calls it should provide distributed tx behaviour.
OK, didn't know that. So, if I get JBossAS running with JBossTS JTS and use JRMP for calling EJB methods on a remote JBossAS instance the rollback on the remote host should work? How do I configure JBossAS to use JRMP?
Thanks a lot for your assistance! -
9. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 8:17 AM (in response to yuvalry)> How do I configure JBossAS to use JRMP?
Umm, it's the default? :-) -
10. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 8:20 AM (in response to yuvalry)wow, that's easy ;-)
ok, I'll have a try again... -
11. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 8:34 AM (in response to yuvalry)Do I have to run my JBossAS instances in a clustered configuration to get distributed tx propagation?
Currently I have two independend JBossAS instances running on two different Hosts. Bean A on Host 1 calls method of Bean B on Host 2. Both JBossAS instances use their own PostgreSQL DB with XA DataSource configuration. -
12. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 8:35 AM (in response to yuvalry)> Do I have to run my JBossAS instances in a clustered configuration to get distributed tx propagation?
No. -
13. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 10:35 AM (in response to yuvalry)This is the Exception I get after patching JBossAS 4.2.1GA with JBossTS 4.2.3GA (i followed the installation instructions that come along with JBossTS), running with "all" configuration:
16:31:08,562 WARN [ServiceController] Problem starting service jboss:service=TransactionManager
com.arjuna.common.util.exceptions.ManagementPluginException: com.arjuna.common.util.exceptions.ManagementPluginException: Failed to register mbeans: javax.management.InstanceAlreadyExistsException: com.arjuna.ats.properties:module=jta already registered.
at com.arjuna.common.internal.util.propertyservice.PropertyManagerImpl.addManagementPlugin(PropertyManagerImpl.java:496)
at com.arjuna.ats.jbossatx.jts.TransactionManagerService.startService(TransactionManagerService.java:142)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at org.jboss.system.ServiceController.start(ServiceController.java:435)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:417)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy4.start(Unknown Source)
at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy5.deploy(Unknown Source)
at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
at org.jboss.Main.boot(Main.java:200)
at org.jboss.Main$1.run(Main.java:508)
at java.lang.Thread.run(Unknown Source)
any ideas?
thanks! -
14. Re: Transaction Recovery using two EJBs on two different mac
yuvalry Feb 7, 2008 11:38 AM (in response to yuvalry)Hi,
For WantTransaction:
I am using the JBoss 4.2.2GA and I upgrated to JTS JBossTS 4.2.2GA because it's the JTA version they use, and I didn't want to make too much changes. And at least it's started without any exceptions.
For jhalliday:
If using the JRMP is the default JBoss behaivor, why it didn't work for me. And why you said that its broken?That would probably be because the JTS is broken on 4.2
Can you please give a straight answer if it's suppose to work. And if yes in what configuration?
Thanks