批量阅读hazelcast主题

时间:2019-05-09 20:00:09

标签: hazelcast

我正在使用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");
    }
}

请帮助。

0 个答案:

没有答案