Interface RMStore

All Known Implementing Classes:
RMTxStore

public interface RMStore
  • Method Details

    • createSourceSequence

      void createSourceSequence(SourceSequence seq)
      Create a source sequence in the persistent store, with the sequence attributes as specified in the RMSourceSequence object.
      Parameters:
      seq - the sequence
    • createDestinationSequence

      void createDestinationSequence(DestinationSequence seq)
      Create a destination sequence in the persistent store, with the sequence attributes as specified in the RMSDestinationSequence object.
      Parameters:
      seq - the sequence
    • getSourceSequence

      SourceSequence getSourceSequence(Identifier seq)
      Retrieve the source sequence with the specified identifier from persistent store.
      Parameters:
      seq - the sequence
      Returns:
      the sequence if present; otherwise null
    • getDestinationSequence

      DestinationSequence getDestinationSequence(Identifier seq)
      Retrieve the destination sequence with the specified identifier from persistent store.
      Parameters:
      seq - the sequence
      Returns:
      the sequence if present; otherwise null
    • removeSourceSequence

      void removeSourceSequence(Identifier seq)
      Remove the source sequence with the specified identifier from persistent store.
      Parameters:
      seq - the sequence
    • removeDestinationSequence

      void removeDestinationSequence(Identifier seq)
      Remove the destination sequence with the specified identifier from persistent store.
      Parameters:
      seq - the sequence
    • getSourceSequences

      Collection<SourceSequence> getSourceSequences(String endpointIdentifier)
      Retrieves all sequences managed by the identified RM source endpoint from persistent store.
      Parameters:
      endpointIdentifier - the identifier for the source
      Returns:
      the collection of sequences
    • getDestinationSequences

      Collection<DestinationSequence> getDestinationSequences(String endpointIdentifier)
      Retrieves all sequences managed by the identified RM destination endpoint from persistent store.
      Parameters:
      endpointIdentifier - the identifier for the destination
      Returns:
      the collection of sequences
    • getMessages

      Collection<RMMessage> getMessages(Identifier sid, boolean outbound)
      Retrieves the outbound/inbound messages stored for the source/destination sequence with the given identifier.
      Parameters:
      sid - the source sequence identifier
      outbound - true if the message is outbound
      Returns:
      the collection of messages *
    • persistOutgoing

      void persistOutgoing(SourceSequence seq, RMMessage msg)
      Called by an RM source upon processing an outbound message. The RMMessage parameter is null for non application (RM protocol) messages.
      Parameters:
      seq - the source sequence
      msg - the outgoing message
    • persistIncoming

      void persistIncoming(DestinationSequence seq, RMMessage msg)
      Called by an RM source upon processing an outbound message. The RMMessage parameter is null for non application (RM protocol) messages.
      Parameters:
      seq - the destination sequence
      msg - the incoming message
    • removeMessages

      void removeMessages(Identifier sid, Collection<Long> messageNrs, boolean outbound)
      Removes the messages with the given message numbers and identifiers from the store of outbound/inbound messages.
      Parameters:
      sid - the identifier of the source sequence
      messageNrs - the collection of message numbers
      outbound - true if the message is outbound