com.atomikos.icatch.jca
Class TransactionInflowHelper

java.lang.Object
  extended by com.atomikos.icatch.jca.TransactionInflowHelper

public class TransactionInflowHelper
extends Object

A helper class to handle JCA transaction inflow. An instance of this class can be constructed at any time; it will delegate to the underlying transaction service to process incoming JCA transactions. Note: this class will only work if transactions across multiple VMs are supported by your license! Use this class to implement the JCA transaction inflow for your application server.
This class is a low-level integration class, intended to facilitate integration in JCA-compliant J2EE servers. In particular, J2EE vendors can use this class in their implementation of the JCA 1.5 WorkManager. In addition, this class provides the necessary XATerminator functionality. This class is unlikely to be relevant to normal users of the transaction service.


Constructor Summary
TransactionInflowHelper()
           
 
Method Summary
 boolean getAutoStartup()
          Check the auto startup property.
 XATerminatorImp getXATerminator()
          Retrieve the XATerminator implementation.
 InboundTransaction importTransactionWithXid(Xid xid, long timeout, boolean commitOnHeuristic)
          Import the transaction with the given Xid.
 void setAutoStartup(boolean value)
          Set the autostartup property.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionInflowHelper

public TransactionInflowHelper()
Method Detail

setAutoStartup

public void setAutoStartup(boolean value)
Set the autostartup property. Default is true.

Parameters:
value - If true, then the transaction service will start up if not yet running. Otherwise, the transaction service needs to be started before this class will work.

getAutoStartup

public boolean getAutoStartup()
Check the auto startup property.

Returns:

importTransactionWithXid

public InboundTransaction importTransactionWithXid(Xid xid,
                                                   long timeout,
                                                   boolean commitOnHeuristic)
Import the transaction with the given Xid. Calling this method will effectively import the transaction into the transaction service: a corresponding transaction will be created, and its termination will be controlled by the XATerminator methods that use the same Xid value.

Parameters:
xid - The Xid value for which a transaction should be imported (created).
timeout - The timeout in milliseconds before active transactions are automatically rolled back.
commitOnHeuristic - If true, heuristic timeouts will cause heuristic commit. Otherwise, heuristic timeouts will cause heuristic rollback.
Returns:
InboundTransaction A token for the resulting transaction.
Note: the underlying transaction will NOT yet be associated with the calling thread. It is up to the caller to do this by calling resume() on the token, in the appropriate thread. Also, you need to call the end method on the token before the XATerminator functionality becomes available for the underlying transaction.

getXATerminator

public XATerminatorImp getXATerminator()
Retrieve the XATerminator implementation.

Returns:
The terminator for the imported transactions. This instance can be used to terminate XA transactions.


Copyright © 2012. All Rights Reserved.