Class MongodbPubSubHub<ID,​DATA>

    • Constructor Detail

      • MongodbPubSubHub

        public MongodbPubSubHub()
    • Method Detail

      • getMaxDocuments

        public long getMaxDocuments()
        Max number of document per pub/sub collection.

        To allow pub/sub, the collection must be capped with a max number of documents.

        Returns:
        See Also:
        DEFAULT_MAX_DOCUMENTS
      • setMaxDocuments

        public MongodbPubSubHub<ID,​DATA> setMaxDocuments​(long maxDocuments)
        Max number of document per pub/sub collection.

        To allow pub/sub, the collection must be capped with a max number of documents.

        Parameters:
        maxDocuments -
        Returns:
        See Also:
        DEFAULT_MAX_DOCUMENTS
      • getMaxCollectionSize

        public long getMaxCollectionSize()
        Max collection's size in bytes.

        To allow pub/sub, the collection must be capped with a max size.

        Returns:
        See Also:
        DEFAULT_MAX_COLLECTION_SIZE
      • setMaxCollectionSize

        public MongodbPubSubHub<ID,​DATA> setMaxCollectionSize​(long maxCollectionSize)
        Max number of document per pub/sub collection.

        To allow pub/sub, the collection must be capped with a max size.

        Parameters:
        maxCollectionSize -
        Returns:
        See Also:
        DEFAULT_MAX_COLLECTION_SIZE
      • getConnectionString

        public String getConnectionString()
        Getter for connectionString (see http://mongodb.github.io/mongo-java-driver/3.7/driver/getting-started/quick-start/).
        Returns:
      • setConnectionString

        public MongodbPubSubHub<ID,​DATA> setConnectionString​(String connectionString)
        Setter for connectionString (see http://mongodb.github.io/mongo-java-driver/3.7/driver/getting-started/quick-start/).
        Parameters:
        connectionString -
        Returns:
      • getMongoClient

        protected com.mongodb.client.MongoClient getMongoClient()
        Getter for mongoClient.
        Returns:
      • setMongoClient

        public MongodbPubSubHub<ID,​DATA> setMongoClient​(com.mongodb.client.MongoClient mongoClient)
        Setter for mongoClient.
        Parameters:
        mongoClient -
        Returns:
      • setMongoClient

        protected MongodbPubSubHub<ID,​DATA> setMongoClient​(com.mongodb.client.MongoClient mongoClient,
                                                                 boolean setMyOwnMongoClient)
        Setter for mongoClient.
        Parameters:
        mongoClient -
        setMyOwnMongoClient -
        Returns:
      • getDatabase

        protected com.mongodb.client.MongoDatabase getDatabase()
      • toDocument

        protected org.bson.Document toDocument​(IMessage<ID,​DATA> msg)
      • fromDocument

        protected IMessage<ID,​DATA> fromDocument​(org.bson.Document doc)
      • buildMongoClient

        protected com.mongodb.client.MongoClient buildMongoClient()
        Build a new MongoClient instance.
        Returns:
      • publish

        public boolean publish​(String channel,
                               IMessage<ID,​DATA> msg)
        Publish a message to a channel.
        Returns:
      • subscribe

        public void subscribe​(String channel,
                              ISubscriber<ID,​DATA> subscriber)
        Subscribe to a channel for messages.
      • unsubscribe

        public void unsubscribe​(String channel,
                                ISubscriber<ID,​DATA> subscriber)
        Unsubscribe from a channel.