-
15. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 11:53 AM (in response to yuvalry)I did: The JTS is broken on 4.2. However, you don't need all the functionality and therefore may be able to use it in such as way as to avoid the bits that are known not to work. That just leaves us with the bits that may or may not work.
I've successfully run certain scenarios involving distributed tx on EJB calls using JTS on 4.2. On the other hand, I'm aware that e.g. crash recovery won't work for AS xa-datasources out of the box. Nor will client side transaction demarcation using the app server's UserTransaction proxy mechanism. In short, it depends exactly what you are trying to do. This is why we don't support it at present: it's just too hard to define what will or will not work. -
16. Re: Transaction Recovery using two EJBs on two different mac
yuvalry Feb 7, 2008 12:01 PM (in response to yuvalry)Thanks for the response.
In my first message I wrote what I am trying to do.
And I will repeat again because it's important for me to get it working.
I am using JBoss 4.2.2GA and Oracle 10G DB.
I am trying to call from an EJB deployed on machine A an EJB deployed on machine B and then rollback the transaction from machine A (by calling the setRollbackOnly method).
Both EJBs are CMT and marked as "Required".
I am using the XA DS for Oracle.
The EJB logic inserts something in DB.
Please refer to this scenario.
Thanks,
Yuval -
17. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 12:13 PM (in response to yuvalry)> And I will repeat again because it's important for me to get it working.
Just out of curiosity, why is that? You are not really planning to patch this thing up with duct tape and put it into production are you? -
18. Re: Transaction Recovery using two EJBs on two different mac
yuvalry Feb 7, 2008 12:33 PM (in response to yuvalry)Well, looking at your response I seriously have my doubts.
According to JBossTS documentation every is working. But after some testing and talking to you I wonder if anything is working there.
To make my system work I need to understand exactly what is working and what is not, what is supporter and what is not. That's why all the questions.
I don't intend to duct tape anything. I will read your answer, test my system, and according to that decide what should be done.
Thanks,
Yuval -
19. Re: Transaction Recovery using two EJBs on two different mac
jhalliday Feb 7, 2008 1:03 PM (in response to yuvalry)> According to JBossTS documentation every is working.
Hmm, is that the same documentation that says of the JTS "It's not suitable for use with JBossAS 4.2.x " (http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossTransactionsVersionGuide)
> To make my system work I need to understand exactly what is working and what is not
Let me know when you find out, I'd be interested too. If, in the course of finding out, you happen to write a comprehensive test suite for distributed transactions using JBossAS+JTS, we have a few job openings that may interest you...
> what is supported and what is not.
The JTS is not currently supported on EAP 4.2 or EAP 4.3, although I know of several customers who which it were. The fact that we are effectively turning down subscription revenue from prospects who need distributed tx right now rather than in the EAP 5.0 timeframe is probably something you ignore at your own risk. -
20. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 1:42 PM (in response to yuvalry)To yuvalry:
Are you running your JBossAS instances with "-c all" command line switch (all configuration)? If you did exactly follow the install instructions that come along with JBossTS 4.2.2GA and you run your JBossAS without this switch you are not using JBossTS JTS.
If you follow the install instructions the JTS TransactionManager is only used in the all configuration. In the default configuration the JTA TransactionManager is used. When you run JBossAS without "-c all", then the default configuration is used.
This may be the reason why you don't get any exceptions, you are using JRMP for remote calls and still rolling back transactions doesn't work. Just a guess...
I tried it again with JBossAS 4.2.2GA and JBossTS 4.2.2GA, same exception as above when I run JBossAS with "-c all". When I run it in the default configuration everything is fine of course, the only issue is that distributed transactions don't work because the JTA TransactionManager is used... :/
So, here is what the installation instructions of JBossTS 4.2.2GA say:Installing JBossJTS into JBoss 4.0.3SP1, 4.0.4GA and 4.0.5GA ------------------------------------------------------------ The installation of JBossJTS into JBoss AS is currently a manual process. We hope to release an installer in the near future that will automate this process. The following steps are required - download the tar or zip version of the application server - extract the distribution into an installation directory - copy the following jars from the JBossJTS installation into the server/XXX/lib directory of the application server installation - lib/jbossjts.jar - lib/jbossjts-jacorb.jar - lib/jbossjts-integration.jar - lib/ext/jbossts-common.jar - copy the following configuration file from the JBossJTS installation into the server/XXX/conf directory of the application server installation - etc/jbossjts-properties.xml - edit the server/default/conf/jbossjts-properties.xml file and remove the recovery extension property containing the value "com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule" - edit the server/all/conf/jbossjts-properties.xml file and remove the recovery extension property containing the value "com.arjuna.ats.internal.jta.recovery.jts.XARecoveryModule" - Edit the server/all/conf/jboss-service.xml file and replace the jboss:service=TransactionManager mbean declaration with the following <mbean code="com.arjuna.ats.jbossatx.jts.TransactionManagerService" name="jboss:service=TransactionManager"> <depends>jboss:service=CorbaORB</depends> <attribute name="TransactionTimeout">300</attribute> </mbean> - Edit the server/default/conf/jboss-service.xml file and replace the jboss:service=TransactionManager mbean declaration with the following <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService" name="jboss:service=TransactionManager"> <attribute name="TransactionTimeout">300</attribute> </mbean> - Edit the server/all/conf/jacorb.properies as follows. - change the jacorb.poa.thread_pool_max property to 32 org.omg.PortableInterceptor.ORBInitializerClass.com.arjuna.ats.jts.orbspecific.jacorb.interceptors.interposition.InterpositionORBInitializerImpl=com.arjuna.ats.jts.orbspecific.jacorb.interceptors.interposition.InterpositionORBInitializerImpl - Edit the server/all/deploy/iiop-service.xml and modify the PortableInterceptorInitializers attribute as follows. - remove the following lines <!-- comment out to disable null transaction propagation over IIOP --> <initializer>org.jboss.tm.iiop.TxServerClientInterceptorInitializer</initializer> <!-- comment out to disable transaction demarcation over IIOP --> <initializer>org.jboss.tm.iiop.TxServerInterceptorInitializer</initializer> - add the following lines <!-- JBoss TS interceptor --> <initializer>com.arjuna.ats.jts.orbspecific.jacorb.interceptors.interposition.InterpositionORBInitializerImpl</initializer> Replace jacorb.jar in client and server/all/lib with the jacorb.jar located in the jacorb directory. For each deployment of JacORB, you will need to ensure that the jacorb.implname in the jacorb.properties file is unique. Application Server Library Modifications ---------------------------------------- The JBoss 4.0.3SP1 and 4.0.4GA application servers require some modified librarires before JBossJTA can be used as a replacement. These are detailed in the appropriate subdirectory of the jboss directory within this installation. No modifications are required if you are running JBoss 4.0.5GA or a cumulative patch for JBoss 4.0.4GA. The application server will now be configured to use the JBossJTS transaction manager instead of the JBoss Transaction Manager. Web Services Transactions ------------------------- // omitted
-
21. Re: Transaction Recovery using two EJBs on two different mac
wanttransaction Feb 7, 2008 2:56 PM (in response to yuvalry)To jhalliday:
Can you give me a hint how I can get rid of this start-up exception (InstanceAlreadyExistsException: com.arjuna.ats.properties:module=jta already registered) I posted above?
Cheers