java - Hazelcast 队列信息

标签 java hazelcast

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

  1. 处理队列中数据的最佳方法是什么?我目前在每个“节点”上都有线程读取阻塞队列处理数据。这是正确的还是有一些我不知道的类负责处理这个问题,比如 JMS 或 messageListener?
  2. 我看到有一个生存时间设置,一旦过期就会从队列中删除条目。我的问题是......有没有办法检测从队列中删除过期项目?我知道有 Listener 但这无济于事,因为它在所有“节点”上触发,而不仅仅是一个。我正在寻找一种为每条过期消息执行代码的方法(类似于死信队列)。

如有任何意见或建议,我们将不胜感激。

谢谢

最佳答案

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

  2. 你是对的。添加监听器不是一个好方法,因为它是非常昂贵的操作。您可能想为此创建一个问题 http://code.google.com/p/hazelcast/issues .有特色当然好。

-talip @hazelcast

关于java - Hazelcast 队列信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109309/

相关文章:

java - 如何只选择 jtable 中一行中的单元格?

java - Hazelcast 无法使用 IMap.get 将数据读入我自己的类对象,其中使用 Memcached 文本协议(protocol)插入数据

java - 确定 Hazelcast 缓存使用的内存

java - 使用 Hazelcast 的执行器

size - 通过 jmx 监控获取以 MB 或 KB 为单位的 Hazelcast map 大小

java - 如何将 HazelcastInstance 注入(inject) MapStoreFactory

java - 运行 INSERT 语句时发生 SQLSyntaxError Java

java - 动态改变自定义图形的颜色

java - Android dagger2 使用 Factory 将 Intent 注入(inject) viewModel

java - 检查我是否可以删除文件