Class TwoPhaseCommitInterceptor

    • Field Detail

      • sm

        protected static final StringManager sm
        The string manager for this package.
      • expire

        protected long expire
        Message expiration time in milliseconds.
      • deepclone

        protected boolean deepclone
        Whether to deep clone messages before storage.
    • Constructor Detail

      • TwoPhaseCommitInterceptor

        public TwoPhaseCommitInterceptor()
        Constructs a new TwoPhaseCommitInterceptor.
    • Method Detail

      • 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
        Overrides:
        sendMessage in class ChannelInterceptorBase
        Parameters:
        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
        Throws:
        ChannelException - if a serialization error happens.
        See Also:
        ErrorHandler, InterceptorPayload
      • getDeepclone

        public boolean getDeepclone()
        Returns whether deep cloning is enabled.
        Returns:
        true if deep cloning is enabled
      • getExpire

        public long getExpire()
        Returns the message expiration time in milliseconds.
        Returns:
        the expiration time
      • setDeepclone

        public void setDeepclone​(boolean deepclone)
        Sets whether deep cloning should be used.
        Parameters:
        deepclone - true to enable deep cloning
      • setExpire

        public void setExpire​(long expire)
        Sets the message expiration time in milliseconds.
        Parameters:
        expire - the expiration time