Class TwoPhaseCommitInterceptor

All Implemented Interfaces:
ChannelInterceptor, Heartbeat, MembershipListener

public class TwoPhaseCommitInterceptor extends ChannelInterceptorBase
  • Field Details

  • Constructor Details

    • TwoPhaseCommitInterceptor

      public TwoPhaseCommitInterceptor()
  • Method Details

    • sendMessage

      public void sendMessage(Member[] destination, ChannelMessage msg, InterceptorPayload payload) throws ChannelException
      Description copied from interface: ChannelInterceptor
      The sendMessage method is called when a message is being sent to one more destinations. The interceptor can modify any of the parameters and then pass on the message down the stack by invoking getNext().sendMessage(destination,msg,payload)
      Alternatively the interceptor can stop the message from being sent by not invoking getNext().sendMessage(destination,msg,payload)
      If the message is to be sent asynchronous the application can be notified of completion and errors by passing in an error handler attached to a payload object.
      The ChannelMessage.getAddress contains Channel.getLocalMember, and can be overwritten to simulate a message sent from another node.
      Specified by:
      sendMessage in interface ChannelInterceptor
      sendMessage in class ChannelInterceptorBase
      destination - Member[] - the destination for this message
      msg - ChannelMessage - the message to be sent
      payload - InterceptorPayload - the payload, carrying an error handler and future useful data, can be null
      ChannelException - if a serialization error happens.
      See Also:
    • messageReceived

      public void messageReceived(ChannelMessage msg)
      Description copied from interface: ChannelInterceptor
      the messageReceived is invoked when a message is received. ChannelMessage.getAddress() is the sender, or the reply-to address if it has been overwritten.
      Specified by:
      messageReceived in interface ChannelInterceptor
      messageReceived in class ChannelInterceptorBase
      msg - ChannelMessage
    • getDeepclone

      public boolean getDeepclone()
    • getExpire

      public long getExpire()
    • setDeepclone

      public void setDeepclone(boolean deepclone)
    • setExpire

      public void setExpire(long expire)
    • heartbeat

      public void heartbeat()
      Description copied from interface: ChannelInterceptor
      The heartbeat() method gets invoked periodically to allow interceptors to clean up resources, time out object and perform actions that are unrelated to sending/receiving data.
      Specified by:
      heartbeat in interface ChannelInterceptor
      Specified by:
      heartbeat in interface Heartbeat
      heartbeat in class ChannelInterceptorBase