Управление потоком данных JMS
Мне нужно создать потребителя JMS, для которого я могу динамически устанавливать скорость удаления, что-то вроде N сообщения в минуту / секунду.
Если я использую бины, управляемые сообщениями, я могу контролировать размер пула, но я не могу ввести ожидание в чистом виде, я могу использовать сон, но я не знаю, хорошая ли это идея.
Некоторые AS допускают управление потоком данных для JMS, но это не стандарт JEE. Возможно, я мог бы использовать службу таймеров, но в этой гипотезе у меня не может быть пула ejb, во всяком случае, не пула, управляемого AS.
1 ответ
Да, вы можете использовать службу таймера для этой цели.
И вы определенно можете использовать службу таймера с bean-компонентами без сохранения состояния, которые объединяются. Возможно, вам придется проверить более подробную информацию здесь: https://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html
Если вы рассматриваете некоторую параллельную обработку, или на том же сервере есть другие пользователи службы таймера - вы должны предоставить пул потоков службы таймера с достаточным количеством потоков.