org.jboss.soa.esb.listeners.message
Class BeanContainerAction

java.lang.Object
  extended by org.jboss.soa.esb.actions.AbstractActionLifecycle
      extended by org.jboss.soa.esb.actions.AbstractActionPipelineProcessor
          extended by org.jboss.soa.esb.listeners.message.BeanContainerAction
All Implemented Interfaces:
ActionLifecycle, ActionPipelineProcessor

public class BeanContainerAction
extends AbstractActionPipelineProcessor

Bean Action Container.

Container Action class for @ProcessMethod annotated bean action.

Author:
tom.fennelly@jboss.com

Field Summary
 
Fields inherited from interface org.jboss.soa.esb.actions.ActionPipelineProcessor
PROCESS_EXCEPTION_METHOD, PROCESS_METHOD, PROCESS_SUCCESS_METHOD
 
Constructor Summary
BeanContainerAction(java.lang.Object bean, ConfigTree configTree)
           
 
Method Summary
 void destroy()
          Destroy the action instance.
 void initialise()
          Initialise the action instance.
static boolean isAnnotatedActionClass(java.lang.Class<?> runtimeClass)
           
 Message process(Message message)
          Perform the action processing on the specified message.
 void processException(Message message, java.lang.Throwable th)
          Process an exception generated by the pipeline processing.
 void processSuccess(Message message)
          Process a successful pipeline process.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanContainerAction

public BeanContainerAction(java.lang.Object bean,
                           ConfigTree configTree)
                    throws ConfigurationException
Throws:
ConfigurationException
Method Detail

initialise

public void initialise()
                throws ActionLifecycleException
Description copied from class: AbstractActionLifecycle
Initialise the action instance.

This method is called after the action instance has been instantiated so that configuration options can be validated.

Specified by:
initialise in interface ActionLifecycle
Overrides:
initialise in class AbstractActionLifecycle
Throws:
ActionLifecycleException - for errors during initialisation.

process

public Message process(Message message)
                throws ActionProcessingException
Description copied from interface: ActionPipelineProcessor
Perform the action processing on the specified message. This method is invoked for each message passing throught the pipeline.

Parameters:
message - The current message being processed.
Returns:
The message to be passed to the next stage of the pipeline.
Throws:
ActionProcessingException - for errors during processing.

processSuccess

public void processSuccess(Message message)
Description copied from class: AbstractActionPipelineProcessor
Process a successful pipeline process. Invoked when the pipeline processing completes successfully.

Specified by:
processSuccess in interface ActionPipelineProcessor
Overrides:
processSuccess in class AbstractActionPipelineProcessor
Parameters:
message - The original message.

processException

public void processException(Message message,
                             java.lang.Throwable th)
Description copied from class: AbstractActionPipelineProcessor
Process an exception generated by the pipeline processing. Invoked when the processing of a subsequent stage of the pipeline generates an exception.

Specified by:
processException in interface ActionPipelineProcessor
Overrides:
processException in class AbstractActionPipelineProcessor
Parameters:
message - The original message.
th - The throwable raised by the pipeline processing

destroy

public void destroy()
             throws ActionLifecycleException
Description copied from class: AbstractActionLifecycle
Destroy the action instance.

This method is called prior to the release of the action instance. All resources associated with this action instance should be released as the instance will no longer be used.

Specified by:
destroy in interface ActionLifecycle
Overrides:
destroy in class AbstractActionLifecycle
Throws:
ActionLifecycleException

isAnnotatedActionClass

public static boolean isAnnotatedActionClass(java.lang.Class<?> runtimeClass)