Interface Publisher

  • All Known Subinterfaces:
    ActivePublisher, BroadcastPublisher, CompatibilityPublisher

    public interface Publisher

    An instance of Publisher publishes messages to remote DataSource peers on behalf of a DataProvider. It also provides access to a MessageFactory that creates the messages to be published.

     

    DataSource for Java includes several implementations of Publisher that you can use in your DataSource application: see BroadcastPublisher, ActivePublisher and CompatibilityPublisher. To use one of these Publishers, call the appropriate "create publisher" method on the API:

    These three child interfaces declare no methods further to those declared in Publisher and currently only serve to tag each Publisher type. However, it is possible that future versions of DataSource for Java may add publisher-type specific methods to these interfaces if deemed appropriate or useful.

    • Method Detail

      • getMessageFactory

        MessageFactory getMessageFactory()
        Gets the MessageFactory used to create the messages that are published via this Publisher.
        Returns:
        The message factory.
      • publishInitialMessage

        void publishInitialMessage​(Message message)
        Publishes the initial image of the data for a subject to peers that have just requested (subscribed to) that subject.
        Parameters:
        message - The message.
      • publishToSubscribedPeers

        void publishToSubscribedPeers​(Message message)
        Publishes a message to subscribed peers (that is, the peers that have already received an initial image).
        Parameters:
        message - The message to be published. This may be an image or an update.
      • publishMappingMessage

        void publishMappingMessage​(MappingMessage mappingMessage)
        Publishes a message that instructs the peer that it should request a different subject and map the updates across.
        Parameters:
        mappingMessage - The message.
      • publishSubjectErrorEvent

        void publishSubjectErrorEvent​(SubjectErrorEvent subjectErrorEvent)
        Publishes to all peers subscribed to a subject an event detailing an error in the subscription for that subject. Typically a DataProvider will use this to notify the remote peers that the data they are subscribed to is no longer available.
        Parameters:
        subjectErrorEvent - The error event to be published.
      • publishSubjectStatusEvent

        void publishSubjectStatusEvent​(SubjectStatusEvent subjectStatusEvent)
        Publishes to all subscribed peers an event about the change in status of a subject.
        Parameters:
        subjectStatusEvent - The subject status event to be published.