The configuration file "jbossjts-properties.xml" doesn't seem to have any recovery extention for WS-AtomicTransaction (maybe AtomicActionRecoveryModule?).
Of course it doesn't :-). This is specified in wstx.xml:
<property name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule"/>
Despite this, I'm still not able to make XTS recovery work. Here's what I'm doing. I have three application servers running in three different hosts, one being the coordinator and two participants (namely participant1 and participant2). Participant2 is the only application server running JBossTS 4.2.2.GA.
My client does the following. It creates a new transaction (using the coordinator), calls operations on Web services deployed on two application servers, and then commits the transaction. In particular, the Web service deployed on the JBossTS host enlists a mock Durable2PCParticipant using com.arjuna.mw.wst.TransactionManagerFactory. As the request to the Web service on the JBossTS host propagated the transaction context, JBossTS registers a participant with the coordinator. So far, so good. When the client asks the coordinator to commit the transaction, it starts the 2PC protocol execution. It prepares the first and second participants, and both of then answer "Prepared". The coordinator then issues a "Commit" message to the first participant, which commits and send a "Committed" back to the coordinator. When the coordinator issues a "Commit" to the second participant, my mock Durable2PCParticipant forces the application server to crash.
Upon the restart of the JBossTS application server, as far as I'm concerned, recovery should find a "Prepared" log entry and then send a "Replay" message to the coordinator to find out about the transaction outcome. However, I can find no "Prepared" log entry and there's no "Replay" message ever sent to the coordinator. This way, the second participant never receives a "Commit" message after the crash. Any ideas why the JBossTS host doesn't send a "Replay" message to the coordinator after the crash?
Any help on this would be _very_ appreciated.
Does this mean that something about XTS recovery is not perfectly working yet?
There is still some work to be done to finish off the logging/recovery of XTS, especially bottom up recovery.
I also want to get familiar with recovery using XTS. Can you point me to some guides to begin besides the examples ivanneto allready mentioned? So actually, XTS does support Recovery, right?
> So actually, XTS does support Recovery, right?
In the same fantasy world where I'm dating Scarlett Johansson, yes. Otherwise it's coming in JBossTS 4.4. Hopefully.
Mmh ok that sounds very good, I am looking forward to it. Thanks for the fast reply.