• ActiveMQ配置用户认证信息


    以 apache-activemq-5.15.13-bin.tar.gz (从清华镜像 下载 )为例,编辑activemq.xml

    在 <broker> 节点内增如下xml片段:

    <plugins>
        <simpleAuthenticationPlugin>
            <users>
                <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users, admins" />
            </users>
        </simpleAuthenticationPlugin>
    </plugins>

    查看 credentials.properties 可以发现其内容如下:

    ## ---------------------------------------------------------------------------
    ## Licensed to the Apache Software Foundation (ASF) under one or more
    ## contributor license agreements.  See the NOTICE file distributed with
    ## this work for additional information regarding copyright ownership.
    ## The ASF licenses this file to You under the Apache License, Version 2.0
    ## (the "License"); you may not use this file except in compliance with
    ## the License.  You may obtain a copy of the License at
    ## 
    ## http://www.apache.org/licenses/LICENSE-2.0
    ## 
    ## Unless required by applicable law or agreed to in writing, software
    ## distributed under the License is distributed on an "AS IS" BASIS,
    ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    ## See the License for the specific language governing permissions and
    ## limitations under the License.
    ## ---------------------------------------------------------------------------
    
    # Defines credentials that will be used by components (like web console) to access the broker
    
    activemq.username=system
    activemq.password=manager
    guest.password=password

    标红的地方则为账户密码

    编辑 jetty-realm.properties 配置文件,在最后一行新增 system: manager, admin,如下标红所示

    ## ---------------------------------------------------------------------------
    ## Licensed to the Apache Software Foundation (ASF) under one or more
    ## contributor license agreements.  See the NOTICE file distributed with
    ## this work for additional information regarding copyright ownership.
    ## The ASF licenses this file to You under the Apache License, Version 2.0
    ## (the "License"); you may not use this file except in compliance with
    ## the License.  You may obtain a copy of the License at
    ## 
    ## http://www.apache.org/licenses/LICENSE-2.0
    ## 
    ## Unless required by applicable law or agreed to in writing, software
    ## distributed under the License is distributed on an "AS IS" BASIS,
    ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    ## See the License for the specific language governing permissions and
    ## limitations under the License.
    ## ---------------------------------------------------------------------------
    
    # Defines users that can access the web (console, demo, etc.)
    # username: password [,rolename ...]
    admin: admin, admin
    user: user, user
    system: manager, admin

    请保持两个 properties 配置文件中的账户密码配置一致,如需修改请同时修改两个配置文件

    重启activemq生效

    curl验证

    curl -u system:manager --data-urlencode "body=$(date)" http://localhost:8161/api/message/wangrui-queue?type=queue

    代码修改:

    在定义activemq连接池的时候添加用户密码信息即可,示例如下:(代码中使用的消息服务器使用的是自定义的账户密码)

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
    
    <beans>
        <!-- 配置生产者连接池 -->
        <bean id="producerConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
            destroy-method="stop">
            <property name="connectionFactory">
                <bean class="org.apache.activemq.ActiveMQConnectionFactory">
                    <property name="brokerURL">
                        <value>${activemq.url}</value>
                    </property>
                    <property name="userName">
                        <value>gfstack</value>
                    </property>
                    <property name="password">
                        <value>gfstack</value>
                    </property>
                </bean>
            </property>
            <property name="maxConnections" value="${producer.maxConnections}"></property>
            <property name="maximumActiveSessionPerConnection" value="${producer.maximumActiveSessionPerConnection}"></property>
            <property name="idleTimeout" value="${producer.idleTimeout}"></property>
        </bean>
        
        <!-- 配置消费者连接池 -->
        <bean id="consumerConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
            destroy-method="stop">
            <property name="connectionFactory">
                <bean class="org.apache.activemq.ActiveMQConnectionFactory">
                    <property name="brokerURL">
                        <value>${activemq.url}</value>
                    </property>
                    <property name="userName">
                        <value>gfstack</value>
                    </property>
                    <property name="password">
                        <value>gfstack</value>
                    </property>
                </bean>
            </property>
            <property name="maxConnections" value="${consumer.maxConnections}"></property>
            <property name="maximumActiveSessionPerConnection" value="${consumer.maximumActiveSessionPerConnection}"></property>
            <property name="idleTimeout" value="${consumer.idleTimeout}"></property>
        </bean>
    </beans>
  • 相关阅读:
    万网域名API查询
    华为鲲鹏麒麟安装docker
    华为鲲鹏麒麟安装K8S
    tkinter如何实现最大化
    if条件判断失败,执行else之后,直接退出整个程序
    python中函数和方法的区别
    在python的函数中使用批量注释,注意缩进
    golang 运行 sqlite 包时报 gcc 命令不存在
    我的10个开发原则
    shell 下载文件
  • 原文地址:https://www.cnblogs.com/nihaorz/p/13030428.html
Copyright © 2020-2023  润新知