JMS / ActiveMQ Динамическое создание / Удаление тем - PullRequest
1 голос
/ 18 января 2012

Я оглянулся и не могу найти хорошего ответа на то, что я пытаюсь выяснить.

В моей системе я создаю темы во время выполнения, где существует один потребитель и один производитель для тем, создаваемых во время выполнения.Что я хотел бы получить, так это то, что создание тем во время выполнения противоречит дизайну JMS?

Я делаю это, потому что это подача данных на рынок, а каждая тема - это подача данных с конкретными подписками на акции и переменной скоростью количества котировок, обновляемых на акции в секунду.

Что я не могу понять, так это то, что если я выберу такой подход, я хотел бы иметь возможность удалить тему, когда в теме фида, созданной во время выполнения, больше нет потребителей.Как я могу понять, как остановить издателя и удалить тему, получив уведомление о количестве пользователей в теме?

Надеюсь, это не лишит мою репутацию, я думаю, что это правильный вопрос.Я посмотрел на виртуальные темы в ActiveMQ, но это не похоже на этот вариант использования.

1 Ответ

6 голосов
/ 18 января 2012

Вы можете настроить activemq для сбора мусора пустых мест назначения без потребителей

http://activemq.apache.org/delete-inactive-destinations.html

Кроме того, есть несколько (более или менее простых) способов сделать это вручную:

http://activemq.apache.org/how-do-i-purge-a-queue.html

ps: разрывы строк, пожалуйста

...