Hazelcast队列信息

时间:2012-02-02 08:41:46

标签: java hazelcast

我目前正在使用hazelcast编写分布式系统。关于使用hazelcast实现的队列,我有几个问题。

  1. 从队列处理数据的最佳方法是什么?我目前在每个"节点上都有线程"读取处理数据的阻塞队列。这是正确的还是有一些我不知道的类,它会像JMS或messageListener一样处理这个问题?
  2. 我看到有一个生存时间秒设置,一旦过期就会从队列中删除条目。我的问题是......有没有办法检测从队列中删除过期的项目?我知道有听众,但这没有帮助,因为这会在所有节点上被触发"而不只是一个。我正在寻找一种为每个过期消息执行代码的方法(类似于死信队列)。
  3. 非常感谢有关此事的任何意见或建议。

    由于

1 个答案:

答案 0 :(得分:9)

  1. 目前没有别的办法了。因此,您将在每个节点上调用queue.take()。 Hazelcast团队计划添加IQueue.addQueueConsumer(QueueConsumer),其行为类似于JMS MessageListener

  2. 你是对的。添加监听器并不是一个很好的方法,因为它是非常昂贵的操作。您可能希望在http://code.google.com/p/hazelcast/issues为此创建问题。有功能肯定很好。

  3. -talip @ hazelcast