atg.commerce.fulfillment.processor
Class ProcLockMessage

java.lang.Object
  extended by atg.commerce.fulfillment.processor.ProcLockMessage
All Implemented Interfaces:
PipelineProcessor

public class ProcLockMessage
extends java.lang.Object
implements PipelineProcessor

This processor uses the ClientLockManager to guarrantee that only one thread dealing with a message for a given key is running through the system at any moment in time. The key used to acquire the lock is returned by the method getKeyForMessage().


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
 
Fields inherited from interface atg.service.pipeline.PipelineProcessor
STOP_CHAIN_EXECUTION, STOP_CHAIN_EXECUTION_AND_COMMIT, STOP_CHAIN_EXECUTION_AND_ROLLBACK
 
Constructor Summary
ProcLockMessage()
           
 
Method Summary
 int[] getRetCodes()
          Returns the valid return codes 1 - The processor completed
 int runProcess(java.lang.Object pParam, PipelineResult pResult)
          This method gets a message received by a Fulfiller router and locks it by calling the getKeyForMessage routine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

ProcLockMessage

public ProcLockMessage()
Method Detail

getRetCodes

public int[] getRetCodes()
Returns the valid return codes 1 - The processor completed

Specified by:
getRetCodes in interface PipelineProcessor
Returns:
an integer array of the valid return codes.

runProcess

public int runProcess(java.lang.Object pParam,
                      PipelineResult pResult)
               throws java.lang.Exception
This method gets a message received by a Fulfiller router and locks it by calling the getKeyForMessage routine. This method requires that a JMS message and OrderFulfiller object be supplied in pParam in a HashMap. Use the PipelineConstants class' static members to key the objects in the HashMap.

Specified by:
runProcess in interface PipelineProcessor
Parameters:
pParam - a HashMap which must contain a JMS message and OrderFulfiller object
pResult - a PipelineResult object which stores any information which must be returned from this method invokation
Returns:
an integer specifying the processor's return code
Throws:
java.lang.Exception - throws any exception back to the caller
See Also:
PipelineProcessor.runProcess(Object, PipelineResult)