Информация О Очереди Hazelcast

в настоящее время я пишу распределенную систему с использованием hazelcast. У меня есть несколько вопросов относительно очередей, реализованных с помощью hazelcast.

  1. каков наилучший способ обработки данных из очереди? В настоящее время у меня есть потоки на каждом "узле", считывающие блокирующую очередь, обрабатывающую данные. Это правильно или есть какой-то класс, о котором я не знаю, который заботится об этом, как JMS или messageListener?
  2. Я вижу, что есть время, чтобы жить секунд настройки, которые будут удалите запись из очереди после истечения срока действия. Мой вопрос... есть ли способ обнаружить удаление истекшего элемента из очереди? Я знаю, что есть слушатели, но это не помогает, так как это запускается на всех "узлах", а не только на одном. Я ищу способ выполнения кода для каждого просроченного сообщения (аналогично очереди мертвых писем).

любой вклад или совет по этому вопросу был бы весьма признателен.

спасибо

1 ответов


  1. на данный момент другого пути нет. Таким образом, вы будете иметь свои потоки на каждом узле, вызывающем очередь.брать.)( Команда Hazelcast планирует добавить IQueue.addQueueConsumer (QueueConsumer), который будет вести себя подобно JMS MessageListener

  2. Вы правы. Добавление слушателей не является хорошим способом сделать это, так как это очень дорогая операция. Возможно, вы захотите создать проблему для этого в http://code.google.com/p/hazelcast/issues. Это, безусловно, приятно иметь возможность.

-Талип @ hazelcast