Class SapLUWManager

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 SapLUWManager 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

    • SapLUWManager

      public SapLUWManager()
  • 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. If the result of the Pipe does not depend on the input, like for the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession) This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.
      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