【问题标题】:Active Mq : How to stop active mq from creating queue which doesnt existActive Mq:如何阻止 activemq 创建不存在的队列
【发布时间】:2017-04-28 15:33:39
【问题描述】:

如何阻止活动 mq 创建不存在的队列? 我正在使用 Active mq 来存储消息,但如果它不存在,则 Active Mq 会创建一个队列。如果它不存在,我不希望它创建一个队列

【问题讨论】:

标签: activemq


【解决方案1】:

你需要通过设置一个 authorizationPlugin 来限制目的地的创建:

只有具有 admins 角色的用户才能发送和阅读消息并创建目的地

只有具有生产者角色的用户才能发送消息

只有具有消费者角色的用户才能阅读消息

添加到activemq.xml:

    <plugins>
        <jaasAuthenticationPlugin configuration="activemq"/>

       <authorizationPlugin>
           <map>
             <authorizationMap>
               <authorizationEntries>            
                 <authorizationEntry queue="test" read="consumers" write="producers" admin="admins" />
                 <authorizationEntry topic="ActiveMQ.Advisory.>" read="all" write="all" admin="all"/>
                 <authorizationEntry queue="ActiveMQ.>.>" read="admins" write="admins" admin="admins"/>
               </authorizationEntries>
               <tempDestinationAuthorizationEntry>
                 <tempDestinationAuthorizationEntry read="admins" write="admins" admin="admins"/>
               </tempDestinationAuthorizationEntry>
            </authorizationMap>
          </map>
       </authorizationPlugin>
    </plugins>

添加到 login.config :

activemq {
    org.apache.activemq.jaas.PropertiesLoginModule required
        org.apache.activemq.jaas.properties.user="users.properties"
        org.apache.activemq.jaas.properties.group="groups.properties"
        reload=true;
};

添加到 users.properties :

q_consumers=q_consumers_pwd
q_producers=q_producers_pwd
admin=admin

添加到 groups.properties :

admins=admin
consumers=q_consumers
producers=q_producers
all=q_consumers,q_producers,admin

当您创建连接时,您必须传递用户和密码:

javax.jms.ConnectionFactory.createConnection(String userName, String password);

【讨论】:

  • 感谢您的努力回答,但我无法找到 login.config。我可以找到 user.properties
  • 非常感谢,它帮助了我!!
猜你喜欢
  • 2016-05-14
  • 2010-11-12
  • 2012-12-10
  • 2021-08-08
  • 2010-12-19
  • 1970-01-01
  • 2012-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多