Interface RMStore

  • All Known Implementing Classes:
    RMTxStore

    public interface RMStore
    • Method Detail

      • 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