【问题标题】:How to set permissions for a temporary queue?如何设置临时队列的权限?
【发布时间】:2014-12-16 19:15:08
【问题描述】:

我们正在使用 JBoss 7 和 HornetQ 实现请求/回复机制。我们使用 javax.jms.Session.createTemporaryQueue() 创建一个临时队列,并使用 Message.setJMSReplyTo() 将其设置为请求消息。我们的客户端选择了 replyTo 目的地并尝试发送回复,但是对于我们正在使用的 hornetq 用户,它失败并显示“SEND-permission denied”。

我们想为我们的 hornetq 用户提供正确的权限,但这需要一个权限适用的地址。但是由于我们正在处理临时队列,因此地址不清楚!那么,问题来了:临时队列的地址是什么?

【问题讨论】:

    标签: jms jboss7.x wildfly hornetq


    【解决方案1】:

    经过一番挖掘,我们发现HornetQ实现Java Messaging Service制作的临时队列的地址是:jms.tempqueue

    因此,您可以通过将 hornetq 用户添加到 'temps' 角色并将以下 xml 添加到 JBoss 的standalone.xml 中来授予权限:

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

    【讨论】:

      猜你喜欢
      • 2012-04-18
      • 2018-03-03
      • 2010-10-20
      • 2019-07-09
      • 2019-12-25
      • 1970-01-01
      • 2018-09-02
      • 2017-08-24
      • 1970-01-01
      相关资源
      最近更新 更多