`

ActiveMQ配置文件及安全验证机制

 
阅读更多
1、修改控制台登录用户密码
   activemq的web管理界面:http://127.0.0.1:8161/admin
   activemq管控台使用jetty部署,需要修改密码则修改对应的配置文件C:\M\apache-activemq-5.14.1\conf\jetty-realm.properties
  
引用

    admin: admin, admin
    user: user, user
   


2、消息安全机制:
只有符合认证的用户才能进行发送和获取消息
   2.1 到C:\M\apache-activemq-5.14.1\confactivemq.xml添加安全验证。

  
   2.2 (生产者/消费者)MessageProducer/MessageConsumer创建connection连接时设置对应的用户名和密码
Connection connection = connectionFactory.createConnection("fu","fu");
    	connection.start();


3、confactivemq.xml配置

<!--
    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.
-->
<!-- START SNIPPET: example -->
<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

    <!-- Allows us to use system properties as variables in this configuration file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>

   <!-- Allows accessing the server log -->
    <bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery"
          lazy-init="false" scope="singleton"
          init-method="start" destroy-method="stop">
    </bean>

    <!--
        The <broker> element is used to configure the ActiveMQ broker.集群的brokerName不是localhost,是相同的。$符是因为引用credentials.properties配置文件
    -->
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}">

        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" >
                    <!-- The constantPendingMessageLimitStrategy is used to prevent
                         slow topic consumers to block producers and affect other consumers
                         by limiting the number of messages that are retained
                         For more information, see:

                         http://activemq.apache.org/slow-consumer-handling.html

                    -->
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>


        <!--
            The managementContext is used to configure how ActiveMQ is exposed in
            JMX. By default, ActiveMQ uses the MBean server that is started by
            the JVM. For more information, see:

            http://activemq.apache.org/jmx.html
        -->
        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <!--
            Configure message persistence for the broker. The default persistence
            mechanism is the KahaDB store (identified by the kahaDB tag).
            For more information, see:

            http://activemq.apache.org/persistence.html
			
			存储默认使用的是kahadb
        -->
        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
        </persistenceAdapter>


          <!--
            The systemUsage controls the maximum amount of space the broker will
            use before disabling caching and/or slowing down producers. For more information, see:
            http://activemq.apache.org/producer-flow-control.html
          
		  broker配置中的系统内存和磁盘空间使用量
		  -->
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        <!--
            The transport connectors expose ActiveMQ over a given protocol to
            clients and other brokers. For more information, see:

            http://activemq.apache.org/configuring-transports.html
        
		   提供的多种协议,tcp是java调用协议
		-->
        <transportConnectors>
            <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <!--<transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>-->
            <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
            <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>

        <!-- destroy the spring context on shutdown to stop jetty 
		shutdownHooks优雅关机,是等各个线程工作完成关机
		-->
        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

		<!--MQ安全验证配置-->
		<plugins>
			<simpleAuthenticationPlugin>
				<users>
					<authenticationUser username="fu" password="fu"  groups="users,admins"/>
				</users>
			</simpleAuthenticationPlugin>
		</plugins>
		
    </broker>

    <!--
        Enable web consoles, REST and Ajax APIs and demos
        The web consoles requires by default login, you can disable this in the jetty.xml file

        Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details
        内置的jetty容器
	-->
    <import resource="jetty.xml"/>

</beans>
<!-- END SNIPPET: example -->



  • 大小: 25.3 KB
分享到:
评论

相关推荐

    为activemq服务器添加简单验证机制

    默认情况下,ActiveMQ配置并不包含任何安全措施,这意味着如果不进行额外的配置,任何客户端都可能连接到服务器并发送或接收消息,这显然存在严重的安全风险。 ActiveMQ支持两种验证机制:用户名/密码映射和JAAS...

    activeMQ在文件上传的应用

    7. **安全性**:在整合过程中,需要考虑数据的安全性,包括对消息的加密传输、权限控制以及防止恶意文件上传的验证机制。ActiveMQ提供了SSL/TLS支持,可以保护消息在传输过程中的安全。 通过上述步骤,我们可以构建...

    activemq5配置文档

    - **配置文件**:ActiveMQ的配置主要通过`activemq.xml`文件进行,这个XML文件定义了服务器的启动参数、网络连接、消息存储和安全设置等。 - **Broker配置**:Broker是ActiveMQ的核心,配置中包括了broker的名称、...

    ActiveMQ配置Mysql8为持久化方式所需Jar包.rar

    本主题主要探讨如何将ActiveMQ配置为使用MySQL 8作为其持久化存储方式,以及在这个过程中所需的Jar包。 1. **ActiveMQ与持久化**: - ActiveMQ允许用户选择不同的持久化机制,包括文件系统(KahaDB)和关系数据库...

    apache-activemq-5.15.9.rar

    Apache ActiveMQ提供了多种安全机制,如用户身份验证、角色授权和SSL/TLS加密。你可以在“conf”目录下的“users.properties”和“groups.properties”文件中定义用户和权限,而在“activemq.xml”中配置相应的安全...

    ActiveMQ消息过期时间设置和自动清除解决方案

    本文档详细介绍了在Apache ActiveMQ 5.15.3版本中如何进行消息过期时间的设置,以及如何配置自动清除机制,特别是针对死信队列的处理方式。 #### 1. 消息过期设置 ##### 参数详解 - **Message 过期则客户端不能...

    ActiveMq安装.docx

    同时,配置文件还定义了用户名bpf.mq.userName和密码bpf.mq.password,这些参数用于客户端连接到ActiveMQ服务器。 在实际应用中,ActiveMQ的配置可能需要根据具体的业务需求进行调整,例如设置消息持久化、网络连接...

    activemq安装.rar

    - 主要配置文件是`conf/activemq.xml`,你可以根据需求修改主题、队列、连接器等设置。 - 例如,调整持久化存储类型、设置网络连接策略、限制消费者数量等。 6. **监控和管理**: - 默认情况下,ActiveMQ提供了...

    ActiveMQ

    通过运行 `TestMQ`,开发者可以验证 ActiveMQ 的配置是否正确,以及消息传递的功能是否正常。 在实际开发中,理解并熟练运用 ActiveMQ 的特性和用法,可以显著提高系统的设计质量和性能。同时,对于 `TestMQ` 这样...

    activemq通过IP或特征码授权插件

    Apache ActiveMQ是业界广泛使用的开源消息代理...这要求开发者编写Java插件代码,集成到ActiveMQ配置中,并可能涉及到数据库或其他安全存储的交互。理解并正确实施这样的授权策略,对于保护你的ActiveMQ环境至关重要。

    基于kahadb的activemq高可用集群部署配置示例

    然后,分别在每个broker的配置文件(如`conf/activemq.xml`)中进行以下配置: - **网络连接器**:设置`networkConnectors`,使broker之间可以互相通信。例如: ```xml (tcp://主机1IP:61616,tcp://主机2IP:61616...

    apache-activemq-5.9.0 下载

    6. **持久化**:ActiveMQ支持多种持久化机制,包括本地文件系统、JDBC数据库和LevelDB,确保在服务重启或故障后仍能保留消息。 7. **高可用性**:通过集群和复制策略,ActiveMQ可以实现高可用性和负载均衡。多个...

    apache-activemq-5.9.0-bin

    在“conf”目录下,有默认的配置文件如“activemq.xml”,可以自定义服务器设置。此外,“bin”目录下的启动脚本使部署和运行变得简单。 总之,Apache ActiveMQ是一个强大的消息中间件,适用于构建分布式系统和...

    ActiveMQ学习 完整例子

    - **配置文件**:主要关注`activemq.xml`,可以定制服务器设置,如端口、存储配置等。 - **管理界面**:默认开启的Web控制台,用于监控和管理消息队列。 3. **使用ActiveMQ** - **创建连接工厂**:使用JMS API...

    qt activemq mqtt 动态库

    6. **安全性和认证**:如果ActiveMQ服务器配置了SSL/TLS加密或需要用户名/密码认证,客户端也需要相应地设置安全连接和身份验证。 7. **调试和测试**:在实际部署前,要进行充分的单元测试和集成测试,确保MQTT...

    JSM-activeMQ

    4. **安全性**:ActiveMQ支持身份验证和授权机制,可以控制用户对消息的访问权限,保障系统安全。 5. **协议支持**:ActiveMQ不仅支持开放标准的JMS(Java Message Service),还支持其他多种消息协议,增加了与...

    activeMQ 例子 真实环境下测试过

    这个"activeMQ 例子 真实环境下测试过"的压缩包文件很可能包含了一系列用于演示和验证ActiveMQ功能的实际代码或配置示例。 ActiveMQ的核心功能包括: 1. **消息队列**:ActiveMQ支持发布/订阅和点对点两种模式的...

Global site tag (gtag.js) - Google Analytics