0
我有一個類似的問題,因爲這後消費從Hazelcast隊列消息僅一次: Consume message only once from Topic per listeners running in cluster在分佈式環境
當我試圖使用隊列發佈消息,並在兩個不同的JVM中加入一個項目監聽器,我我兩次都收到這些消息。我想只在羣集/分佈式環境中收到消息一次。
這裏是我的代碼片段:
發佈消息:
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");
}
}