Я не знаю ни одной функции в ActiveMQ 5.x, которая бы обеспечивала нужную вам функцию.
Тем не менее, ActiveMQ Artemis имеет ограничения ресурсов для каждого пользователя . Поэтому, если ваш брокер защищен таким образом, что клиенты должны соединяться с именем пользователя и паролем (что и должно быть), вы можете принудительно установить ограничение на количество подключений для использования, используя что-то вроде этого в broker.xml
:
<resource-limit-settings>
<resource-limit-setting match="myUser">
<max-connections>5</max-connections>
</resource-limit-setting>
</resource-limit-settings>
Стоит также отметить, что когда потребитель создает подписку на тему, создается очередь, в которой хранятся все сообщения для подписки. Вы можете ограничить количество очередей, которые пользователь может создать (и, следовательно, количество подписок), используя параметр конфигурации max-queues
, например ::
<resource-limit-settings>
<resource-limit-setting match="myUser">
<max-queues>3</max-queues>
</resource-limit-setting>
</resource-limit-settings>