com.atlassian.bitbucket.topic.TopicService |
Provides a mechanism for publishing messages to multiple subscribers, both local and cluster-wide. When a listener subscribes to a topic, it receives all messages published to that topic from any node until the listener unsubscribes.
Messages are delivered in the order they were published on the node they were published on. If node N publishes messages m1, m2..mn, all listeners receive messages m1, m2..mn in order.
Messages are not durable and message delivery is guaranteed only to the listeners that were reachable at
the time a message is published. In the case of network partitions, listeners may miss messages. Plugins that rely
on TopicService
to handle cluster coherency are encouraged to also listen for the various
cluster node events
to handle nodes joining, rejoining and leaving the cluster.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Returns the existing topic, or creates new topic with the provided settings if it does not yet exist.
| |||||||||||
This method is deprecated.
in 5.3 for removal in 6.0. Use
getTopic(String, TopicSettings to obtain the topic and call publish(T)
instead.
| |||||||||||
This method is deprecated.
in 5.3 for removal in 6.0. Use
getTopic(String, TopicSettings to obtain the topic and call subscribe(TopicListener
instead.
| |||||||||||
This method is deprecated.
in 5.3 for removal in 6.0. Use
getTopic(String, TopicSettings to obtain the topic and call
unsubscribe(String) instead.
|
Returns the existing topic, or creates new topic with the provided settings if it does not yet exist.
topic | the topic name |
---|---|
settings | the topic configuration |
This method is deprecated.
in 5.3 for removal in 6.0. Use getTopic(String, TopicSettings
to obtain the topic and call publish(T)
instead.
Publishes a message to all (both local and remote) listeners of the topic
topic | the topic to publish to |
---|---|
message | the message |
This method is deprecated.
in 5.3 for removal in 6.0. Use getTopic(String, TopicSettings
to obtain the topic and call subscribe(TopicListener
instead.
Subscribes a provided listener to a topic. The listener will receive callbacks for every message published to the topic after the listener was subscribed.
If the topic did not exist, prior to subscribing, it will be created with default
settings
.
topic | the topic to subscribe to |
---|---|
listener | the listener that should receive callbacks when a message is published to the topic |
unsubscribe
.
This method is deprecated.
in 5.3 for removal in 6.0. Use getTopic(String, TopicSettings
to obtain the topic and call
unsubscribe(String)
instead.
Unsubscribes a listener. The listener will not receive any more messages the topic.
subscriptionId | the subscription ID that was returned by subscribe(String, TopicListener) |
---|
true
if the listener was successfully unsubscribed, otherwise false