我正在使用hazelcast实现发布/订阅消息传递模型。请在下面找到代码。一个接一个地处理每个已发布的消息对象将花费大量时间。所以我的要求是执行批处理。是否可以收集消息对象的集合,并在达到一定阈值(例如50)时对其执行操作。因此,当发布者发布50条消息时,只有消息侦听器才应触发并执行操作。
一对一发布/订阅示例:
订户
import com.hazelcast.core.*;
public class Subscriber {
public static void main(String[] args) {
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
ITopic<String> topic = hz.getTopic("topic");
topic.addMessageListener(new MessageListenerImpl());
System.out.println("Subscribed");
}
private static class MessageListenerImpl implements MessageListener<String> {
public void onMessage(Message<String> m) {
System.out.println("Received: " + m.getMessageObject());
}
}
}
发布商
import com.hazelcast.core.*;
public class Publisher {
public static void main(String[] args) {
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
ITopic<String> topic = hz.getTopic("topic");
topic.publish("Message");
}
}
请帮助。