ActiveMQ Как удалить только некоторые запланированные элементы - PullRequest
0 голосов
/ 19 февраля 2019

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

Я могу удалить все запланированные сообщения с помощью ScheduledMessage.AMQ_SCHEDULER_ACTION_REMOVEALL сообщения, отправленного в очередь.

Я могу удалить сообщение по идентификатору, отправив сообщение AMQ_SCHEDULER_ACTION_REMOVE.

Но есть ли способ удалить все сообщения с помощью селектора (возможно, свойства сообщения)?

Я проверил Jolokia REST API ActiveMQ, но, похоже, информация о запланированных сообщениях недоступна.

1 Ответ

0 голосов
/ 19 февраля 2019

Нет, эта функциональность в настоящее время не поддерживается.Вам нужно будет взглянуть на исходный код и реализовать его самостоятельно, а затем передать его сообществу.Есть тонкая грань, хотя мы пытались использовать брокер сообщений, так как база данных обернется и укусит вас, поэтому я рекомендую осторожность в этом отношении.

Вам необходимо реализовать новую директиву удаления, такую ​​как AMQ_SCHEDULER_ACTION_REMOVE_SELECTED, определить, как в этом случае работает селектор, строку SQL92 и т. Д., А затем добавить API в интерфейс хранилища планировщика и реализовать его в реализации планировщика вМодуль KahaDB.

...