2014-10-21 5 views
0

Мы реализуем механизм запроса/ответа с использованием JBoss 7 и HornetQ. Мы создаем временную очередь с помощью javax.jms.Session.createTemporaryQueue() и устанавливаем ее в сообщение запроса с помощью Message.setJMSReplyTo(). Наш клиент подбирает ответ для адресата и пытается отправить ответ, но он не работает с «SEND-permission denied» для пользователя hornetq, который мы используем.Как установить разрешения для временной очереди?

Мы хотели бы предоставить правильные разрешения для нашего пользователя hornetq, но для этого требуется адрес, к которому применяются разрешения. Но поскольку мы работаем с временными очередями, адрес неясен! Итак, возникает вопрос: каков адрес временной очереди?

ответ

0

После некоторого копания мы обнаружили, что адреса временных очередей, сделанной реализация HornetQ сервиса Java Messaging являются: jms.tempqueue

Таким образом, вы можете дать разрешения на доступ к пользователю hornetq, добавив его в «Temps 'и добавьте следующий xml в standalone.xml JBoss:

<security-settings> 
    <security-setting match="jms.tempqueue.#"> 
    <permission type="send" roles="temps"/> 
    </security-setting> 
</security-settings>