com.softwareag.jca
Class RPCMessageDispatcher

java.lang.Object
  extended by com.softwareag.jca.RPCMessageDispatcher
All Implemented Interfaces:
com.softwareag.entirex.xml.rt.XMLRPCServerInterface, javax.transaction.xa.XAResource

public class RPCMessageDispatcher
extends java.lang.Object
implements com.softwareag.entirex.xml.rt.XMLRPCServerInterface, javax.transaction.xa.XAResource

Implements message dispatcher for RPCMessageServer and supports the XA protocol. The message driven bean can open a distributed transaction and the dispatched message can be commited or rollbacked inside the transaction. The RPC client receives an exception if the transaction is rollbacked.

Version:
$Revision: 1.1 $

Field Summary
 
Fields inherited from interface javax.transaction.xa.XAResource
TMENDRSCAN, TMFAIL, TMJOIN, TMNOFLAGS, TMONEPHASE, TMRESUME, TMSTARTRSCAN, TMSUCCESS, TMSUSPEND, XA_OK, XA_RDONLY
 
Constructor Summary
protected RPCMessageDispatcher(javax.resource.spi.endpoint.MessageEndpointFactory endpointFactory)
          Create dispatcher for meassage driven bean.
 
Method Summary
 void commit(javax.transaction.xa.Xid arg0, boolean arg1)
          XA callback.
 void end(javax.transaction.xa.Xid arg0, int arg1)
          XA callback.
 void forget(javax.transaction.xa.Xid arg0)
          XA callback.
 int getTransactionTimeout()
          XA callback.
 byte[] invoke(byte[] input, java.util.Properties args)
          Internal EntireX RPC dispatcher dispatches requests to this method.
 boolean isSameRM(javax.transaction.xa.XAResource arg0)
          XA callback.
 int prepare(javax.transaction.xa.Xid arg0)
          XA callback.
 javax.transaction.xa.Xid[] recover(int arg0)
          XA callback.
 void rollback(javax.transaction.xa.Xid arg0)
          XA callback.
 boolean setTransactionTimeout(int arg0)
          XA callback.
 void start(javax.transaction.xa.Xid arg0, int arg1)
          XA callback.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RPCMessageDispatcher

protected RPCMessageDispatcher(javax.resource.spi.endpoint.MessageEndpointFactory endpointFactory)
Create dispatcher for meassage driven bean.

Parameters:
endpointFactory - message receiver
Method Detail

invoke

public byte[] invoke(byte[] input,
                     java.util.Properties args)
              throws java.lang.Exception
Internal EntireX RPC dispatcher dispatches requests to this method.

Specified by:
invoke in interface com.softwareag.entirex.xml.rt.XMLRPCServerInterface
Throws:
java.lang.Exception

getTransactionTimeout

public int getTransactionTimeout()
                          throws javax.transaction.xa.XAException
XA callback.

Specified by:
getTransactionTimeout in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

setTransactionTimeout

public boolean setTransactionTimeout(int arg0)
                              throws javax.transaction.xa.XAException
XA callback.

Specified by:
setTransactionTimeout in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

isSameRM

public boolean isSameRM(javax.transaction.xa.XAResource arg0)
                 throws javax.transaction.xa.XAException
XA callback.

Specified by:
isSameRM in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

recover

public javax.transaction.xa.Xid[] recover(int arg0)
                                   throws javax.transaction.xa.XAException
XA callback.

Specified by:
recover in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

prepare

public int prepare(javax.transaction.xa.Xid arg0)
            throws javax.transaction.xa.XAException
XA callback.

Specified by:
prepare in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

forget

public void forget(javax.transaction.xa.Xid arg0)
            throws javax.transaction.xa.XAException
XA callback.

Specified by:
forget in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

rollback

public void rollback(javax.transaction.xa.Xid arg0)
              throws javax.transaction.xa.XAException
XA callback.

Specified by:
rollback in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

end

public void end(javax.transaction.xa.Xid arg0,
                int arg1)
         throws javax.transaction.xa.XAException
XA callback.

Specified by:
end in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

start

public void start(javax.transaction.xa.Xid arg0,
                  int arg1)
           throws javax.transaction.xa.XAException
XA callback.

Specified by:
start in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException

commit

public void commit(javax.transaction.xa.Xid arg0,
                   boolean arg1)
            throws javax.transaction.xa.XAException
XA callback.

Specified by:
commit in interface javax.transaction.xa.XAResource
Throws:
javax.transaction.xa.XAException


Copyright © 2004-2008 Software AG. All Rights Reserved.