org.jboss.txbridge.ba.execute
Class ServiceExecutor

java.lang.Object
  extended by org.jboss.txbridge.ba.execute.ServiceExecutor
Direct Known Subclasses:
LocalServiceExecutor, RemoteServiceExecutor

public abstract class ServiceExecutor
extends java.lang.Object

This is an abstract class that describes a basic ServiceExecutor. Service Executors are used for executing compensation actions.

Version:
0.1
Author:
Maciej P. Machulak (mmachulak@redhat.com)

Field Summary
private static CompensationManagerProvider cmp
           
(package private)  DataProvider dataProvider
           
(package private)  ExecutionInterface execution
           
private static org.apache.log4j.Logger log
           
private  TaskDescription taskDescription
           
 
Constructor Summary
ServiceExecutor(TaskDescription taskDesc)
          Main constructor.
ServiceExecutor(TaskDescription taskDesc, ExecutionInterface execution, DataProvider dp)
          Constructor.
 
Method Summary
 void invokeService(ServiceDescription sd, CompensationDataProvider cdp)
          This method invokes the compensation task which is specified in the service description.
 void setExecutionType(ExecutionInterface execution)
          This method sets a new execution type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

cmp

private static CompensationManagerProvider cmp

taskDescription

private TaskDescription taskDescription

execution

ExecutionInterface execution

dataProvider

DataProvider dataProvider
Constructor Detail

ServiceExecutor

ServiceExecutor(TaskDescription taskDesc)
Main constructor.

Parameters:
taskDesc - is the task's description.

ServiceExecutor

public ServiceExecutor(TaskDescription taskDesc,
                       ExecutionInterface execution,
                       DataProvider dp)
Constructor.

Parameters:
taskDesc - is the task's description.
execution - is the execution interface that should be used.
dp - is the data provider for arguments.
Method Detail

setExecutionType

public void setExecutionType(ExecutionInterface execution)
This method sets a new execution type.

Parameters:
execution - is the execution type which should be set.

invokeService

public void invokeService(ServiceDescription sd,
                          CompensationDataProvider cdp)
                   throws CompensationActionUnsuccessfulException
This method invokes the compensation task which is specified in the service description. It uses compensation data which are passed as a parameter.

Parameters:
sd - represents the service description.
cdp - represents the compensation data provider.
Throws:
CompensationActionUnsuccessfulException - if it was not possible to execute compensation action.