Topic¶
- class Topic(service_name, name, context)[source]¶
Bases:
PartitionSpecificProxy[BlockingTopic],Generic[MessageType]Hazelcast provides distribution mechanism for publishing messages that are delivered to multiple subscribers, which is also known as a publish/subscribe (pub/sub) messaging model.
Publish and subscriptions are cluster-wide. When a member subscribes for a topic, it is actually registering for messages published by any member in the cluster, including the new members joined after you added the listener.
Messages are ordered, meaning that listeners(subscribers) will process the messages in the order they are actually published.
- add_listener(on_message: Callable[[TopicMessage[MessageType]], None] = None) Future[str][source]¶
Subscribes to this topic.
When someone publishes a message on this topic,
on_messagefunction is called if provided.- Parameters:
on_message – Function to be called when a message is published.
- Returns:
A registration id which is used as a key to remove the listener.
- publish(message: MessageType) Future[None][source]¶
Publishes the message to all subscribers of this topic.
- Parameters:
message – The message to be published.
- publish_all(messages: Sequence[MessageType]) Future[None][source]¶
Publishes the messages to all subscribers of this topic.
- Parameters:
messages – The messages to be published.
- remove_listener(registration_id: str) Future[bool][source]¶
Stops receiving messages for the given message listener.
If the given listener already removed, this method does nothing.
- Parameters:
registration_id – Registration id of the listener to be removed.
- Returns:
Trueif the listener is removed,Falseotherwise.
- blocking() BlockingTopic[MessageType][source]¶
Returns a version of this proxy with only blocking method calls.
- class BlockingTopic(wrapped: Topic[MessageType])[source]¶
Bases:
Topic[MessageType]- name¶
- service_name¶
- add_listener(on_message: Callable[[TopicMessage[MessageType]], None] = None) str[source]¶
Subscribes to this topic.
When someone publishes a message on this topic,
on_messagefunction is called if provided.- Parameters:
on_message – Function to be called when a message is published.
- Returns:
A registration id which is used as a key to remove the listener.
- publish(message: MessageType) None[source]¶
Publishes the message to all subscribers of this topic.
- Parameters:
message – The message to be published.
- publish_all(messages: Sequence[MessageType]) None[source]¶
Publishes the messages to all subscribers of this topic.
- Parameters:
messages – The messages to be published.
- remove_listener(registration_id: str) bool[source]¶
Stops receiving messages for the given message listener.
If the given listener already removed, this method does nothing.
- Parameters:
registration_id – Registration id of the listener to be removed.
- Returns:
Trueif the listener is removed,Falseotherwise.
- destroy() bool[source]¶
Destroys this proxy.
- Returns:
Trueif this proxy is destroyed successfully,Falseotherwise.
- blocking() BlockingTopic[MessageType][source]¶
Returns a version of this proxy with only blocking method calls.