activemq配置说明

<!--

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.

-->

    <!--开启自动清除策略

schedulePeriodForDestinationPurge:10000  每十秒检查一次,默认为0,此功能关闭

gcInactiveDestinations: true  删除掉不活动队列,默认为false

nactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒

-->

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" usmJmx="true" schedulePeriodForDestinationPurge="10000">

<destinationPolicy>

<policyMap>

<policyEntries>

      

<policyEntry topic=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000">

<!-- 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>

   <!--开启远程内存监控,使用jconsole进行远程链接-->

<managementContext createConnector="true" connectorPort="11099"/>

</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

-->

<persistenceAdapter>

<!--设置持久文件,每个文件设置大小为128m-->

<kahaDB directory="${activemq.data}/kahadb"/ journalMaxFileLength="128mb" >

</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

-->

<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

-->

<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+nio://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

<transportConnector name="ws" uri="ws://0.0.0.0:8083?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

<transportConnector name="wss" uri="wss://0.0.0.0:8084?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>

</transportConnectors>

<sslContext>

<sslContext keyStore="file:${activemq.conf}/***.jks"

keyStorePassword="***"

/>

</sslContext>

<!--

          <sslContext>

<sslContext keyStore="file:${activemq.conf}/broker.ks" keyStorePassword="password" trustStore="file:${activemq.conf}/broker.ts" trustStorePassword="password"/>

</sslContext>

-->

<!-- destroy the spring context on shutdown to stop jetty -->

<shutdownHooks>

<bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />

</shutdownHooks>

<plugins>

        <!---->

        <bean xmlns="http://www.springframework.org/schema/beans" id="msgPreProcessPlugin" class="com.rkhd.mq.plugins.MsgPreProcessPlugin"></bean>

        <simpleAuthenticationPlugin>

                <users>

                        <authenticationUser username="admin" password="ingage" groups="admins,publishers,consumers"/>

                </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

-->

<import resource="jetty.xml"/>

</beans>

<!-- END SNIPPET: example -->

猜你喜欢

转载自blog.csdn.net/gaoyongjianqq/article/details/82768317