Class SapLUWManagerPipe

All Implemented Interfaces:
FrankElement, HasApplicationContext, HasName, HasTransactionAttribute, IConfigurable, IForwardTarget, IPipe, IScopeProvider, IWithParameters, NameAware, EventThrowing, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle

public class SapLUWManagerPipe extends FixedForwardPipe
Manager for SAP Logical Units of Work (LUWs). Used to begin, commit or rollback LUWs. A SapLUWManager can be placed before a number of SapSenders. The SapLUWManager and the SapSenders must each use the same value for luwHandleSessionKey. By doing so, they use the same connection to SAP. This allows to perform a commit on a number of actions.
The placement of the the first SapLUWManager is optionan: By specifying a new luwHandleSessionKey a new handle is created implicitly.
To explicityly commit or rollback a set of actions, a SapLUWManager-pipe can be used, with the action-attribute set apropriately.
Since:
5.0
Author:
Gerrit van Brakel, Jaco de Groot
  • Field Details

  • Constructor Details

    • SapLUWManagerPipe

      public SapLUWManagerPipe()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Description copied from class: FixedForwardPipe
      Checks for correct configuration of forward.
      Specified by:
      configure in interface IConfigurable
      Overrides:
      configure in class FixedForwardPipe
      Throws:
      ConfigurationException - in case it was not able to configure the component.
    • start

      public void start()
      Description copied from interface: IPipe
      Perform necessary action to start the pipe. This method is executed after the IConfigurable.configure() method, for each start and stop command of the adapter.
      Specified by:
      start in interface IPipe
      Specified by:
      start in interface org.springframework.context.Lifecycle
      Overrides:
      start in class AbstractPipe
    • stop

      public void stop()
      Description copied from interface: IPipe
      Perform necessary actions to stop the Pipe.
      For instance, closing JMS connections, DBMS connections etc.
      Specified by:
      stop in interface IPipe
      Specified by:
      stop in interface org.springframework.context.Lifecycle
      Overrides:
      stop in class AbstractPipe
    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Description copied from interface: IPipe
      This is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult.
      Throws:
      PipeRunException
    • setSapSystemName

      public void setSapSystemName(String string)
      Name of the SapSystem used by this object
    • setAction

      public void setAction(String string)
      One of: begin, commit, rollback, release
    • setLuwHandleSessionKey

      public void setLuwHandleSessionKey(String string)
      Session key under which information is stored