【发布时间】:2016-11-10 14:11:07
【问题描述】:
我有一个与这篇文章类似的问题: Consume message only once from Topic per listeners running in cluster
当我尝试使用队列发布消息并在两个不同的 JVM 中添加项目侦听器时,我在两个不同的 JVM 中都收到了两次消息。我只想在集群/分布式环境中接收一次消息。
这是我的代码 sn-p:
消息的发布:
getQueue().add("some sample message");
我在两个不同的 JVM 中配置了相同的侦听器,如下所示:
public HazelcastQueueListener(){
HazelcastInstance instance = HazelcastClient.newHazelcastClient(HazelClientConfig.getClientConfig());
IQueue<String> queue1 = instance.getQueue("SAMPLEQUEUE");
queue1.addItemListener(this, false);
}
public static void main(String args[]){
HazelcastQueueListener listener = new HazelcastQueueListener();
}
@Override
public void itemAdded(ItemEvent<String> arg0) {
// TODO Auto-generated method stub
if(arg0!=null){
System.out.println("Item coming out of queue 1" +arg0);
}
else{
System.out.println("null");
}
}
【问题讨论】:
标签: queue distributed publish-subscribe hazelcast