Hazelcast 提供发布消息的分布式机制,让消息传递给多个订阅者,如同已知的发布/ 订阅(pub / sub )消息传递模型。发布和订阅作用于群集范围。当一成员订阅了一个主题,它实际上是注册了任何集群中的成员消息,包括在您添加的侦听器后新加入的成员发布的消息。
消息是有顺序的,也就是说,监听者(订阅者)将按照消息实际发布的顺序处理。如果集群成员M 发布消息M1 ,M2 ,M3...Mn 到一个主题T ,然后Hazelcast 可以确保所有主题T 的订阅者,都能按照顺序接收和处理M1 ,M2 ,M3...Mn 。
import com.hazelcast.core.Topic;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.MessageListener;
public class Sample implements MessageListener {
public static void main(String[] args) {
Sample sample = new Sample();
Topic topic = Hazelcast.getTopic ("default");
topic.addMessageListener(sample);
topic.publish ("my-message-object");
}
public void onMessage(Object msg) {
System.out.println("Message received = " + msg);
}
}