`

mqtt 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. -->

<broker xmlns="http://activemq.apache.org/schema/core"

brokerName="localhost" dataDirectory="${activemq.data}"

persistent="true">

 

<destinationPolicy>

<policyMap>

<policyEntries>

<policyEntry topic=">" gcInactiveDestinations="true"  producerFlowControl="false" memoryLimit="1mb"

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>

 

-->

 

 

 

 

<dispatchPolicy>

 

<strictOrderDispatchPolicy />

 

</dispatchPolicy>

<subscriptionRecoveryPolicy>

<timedSubscriptionRecoveryPolicy recoverDuration="300000" /> 

</subscriptionRecoveryPolicy>

<deadLetterStrategy>

 

<individualDeadLetterStrategy topicPrefix="Test.DLQ." />

 

</deadLetterStrategy>

 

<pendingSubscriberPolicy>

 

<fileCursor />   <!-- fileCursor   vmCursor -->

 

</pendingSubscriberPolicy>

 

<pendingDurableSubscriberPolicy>

 

<storeDurableSubscriberCursor />  <!-- storeDurableSubscriberCursor, vmDurableCursor and fileDurableSubscriberCursor -->

 

</pendingDurableSubscriberPolicy>

 

<pendingMessageLimitStrategy>

<constantPendingMessageLimitStrategy limit="1000"/>

</pendingMessageLimitStrategy>

 

 

</policyEntry>

<policyEntry queue=">" 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>

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

<persistenceAdapter>

<kahaDB directory="${activemq.data}/kahadb"

journalMaxFileLength="64mb" indexCacheSize="40000" />

</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 limit="128 mb" />

</memoryUsage>

<storeUsage>

<storeUsage limit="10 gb" />

</storeUsage>

<tempUsage>

<tempUsage limit="1 gb" />

</tempUsage>

</systemUsage>

</systemUsage>

 

<sslContext>

<sslContext

keyStore="file:${activemq.base}/conf/cacert/cloud.jks"

keyStorePassword="123456"

trustStore="file:${activemq.base}/conf/cacert/truststore.ts"

trustStorePassword="123456" />

</sslContext>

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

<transportConnector name="mqtt+ssl"

uri="mqtt+nio+ssl://0.0.0.0:8883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600&amp;wireFormat.maxInactivityDuration=0" />

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

<bean xmlns="http://www.springframework.org/schema/beans"

class="org.apache.activemq.hooks.SpringContextHook" />

</shutdownHooks>

 

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

0
2
分享到:
评论

相关推荐

    mqttjs(activemq测试工具)

    **mqttjs(ActiveMQ测试工具)** 在信息技术领域,MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,常用于物联网(IoT)设备间的通信。它基于发布/订阅模型,允许设备间高效地发送和接收数据。而...

    ActiveMQ MQTT Android客户端Demo

    **ActiveMQ MQTT Android 客户端Demo详解** 在Android应用开发中,实时数据通信是非常重要的一环,而MQTT(Message Queuing Telemetry Transport)协议因其轻量级、低延迟和高可靠性的特点,常被用于物联网(IoT)...

    qt activemq mqtt 动态库

    在本案例中,"qt activemq mqtt 动态库"指的是使用Qt库编译的ActiveMQ MQTT客户端的库文件(lib)和动态链接库文件(dll)。 这些库文件和dll是为开发REST协议客户端软件而准备的。REST(Representational State ...

    activemq+mqtt+android通信

    标题中的“activemq+mqtt+android通信”指的是在Android设备上使用ActiveMQ服务器和MQTT协议进行通信的技术实现。ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它遵循开放消息中间件标准(JMS),支持多种...

    linux-apache-activemq-5.15.3和 linux-jdk1.8

    在版本5.15.3中,ActiveMQ可能包含了一些性能优化、安全增强以及bug修复。使用ActiveMQ,开发者可以构建可靠的消息传递系统,确保消息的高可用性、持久性和可伸缩性。 JDK 1.8,也称为Java 8,引入了许多重要的新...

    WIndows上mqtt服务器-apache-activemq-5.16.0-bin.rar

    9. **监控与性能**:通过JMX(Java Management Extensions)接口,你可以监控ActiveMQ的性能指标,如内存使用、消息速率等,并进行性能优化。 10. **日志管理**:ActiveMQ的日志信息默认存储在logs目录下,可以调整...

    activemq-cpp-library-3.9.5-src.zip

    ActiveMQ-CPP库的设计考虑了性能和效率,但实际应用中可能需要根据具体需求进行优化,例如调整并发级别、使用连接池或优化消息处理流程。 7. **错误处理与调试** 库中提供了丰富的异常处理机制,通过捕获和处理`...

    AndroidMqtt源码

    在 Android 中,可以通过 MQTT 客户端库连接到运行着 ActiveMQ 服务的服务器,实现 Android 设备与 ActiveMQ 服务器之间的通信。 **6. 安全性与优化** - TLS/SSL 加密:为了保证通信安全,可以在 MQTT 连接时启用 ...

    apache-activemq-5.16.5

    2. **多种协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、MQTT等多种消息协议,这使得不同平台和语言的应用可以方便地与之交互。 3. **高可用性**:通过集群和故障转移,ActiveMQ可以实现高可用性,确保消息服务...

    jdk activemq

    ActiveMQ提供了多种特性,如持久性、事务支持、安全性等,并且支持多种协议,包括AMQP、OpenWire、MQTT、STOMP等。ActiveMQ因其高性能和可靠性,在企业级应用中被广泛采用。 ### 版本对应表 下面根据给定的部分...

    最新稳定版ActiveMQ5.15.0

    4. **多种协议支持**:如前所述,ActiveMQ支持OpenWire、STOMP、AMQP、MQTT等多种协议,使得它能与不同的客户端和平台协同工作,例如Java、Python、C#、JavaScript等。 5. **消息队列和主题**:ActiveMQ提供两种...

    apache-activemq-5.9.0 下载

    ActiveMQ 5.9.0版本提供了许多增强功能和改进,包括性能优化、稳定性提升以及新的特性。 1. **安装与配置**:下载`apache-activemq-5.9.0`压缩包后,用户需要解压到指定目录,并配置相应的环境变量,例如设置`...

    apache-activemq-5.16.6-bin.zip

    5. **协议支持**: ActiveMQ不仅支持JMS,还支持AMQP、STOMP、MQTT、OpenWire等多种消息协议,以适应不同平台和应用的需求。 6. **管理界面(Web Console)**: 内置的Web管理控制台提供了一个用户友好的图形界面,...

    ActiveMQ的文档.rar

    1. **ActiveMQ简介**:ActiveMQ是Apache软件基金会开发的一个开源项目,它支持多种协议,包括OpenWire、STOMP、AMQP、MQTT、XMPP和WS-Notification,适用于多种环境和语言。 2. **JMS规范**:Java Message Service...

    activemq 配置说明与activemq入门讲解

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它遵循JMS(Java Message Service)标准,提供了高可用性、可伸缩性和可靠的消息传递服务。...同时,关注ActiveMQ社区的更新和最佳实践,持续优化你的消息系统。

    MQTT服务器环境配置

    8. **集成MQTT**:Apollo本身并不直接支持MQTT协议,但可以通过集成Apache ActiveMQ或者EMQ X等MQTT服务器来实现MQTT通信。需要配置MQTT服务器,例如设置监听端口、用户认证、主题策略等,并确保其能与Apollo配置...

    ActiveMQ消息服务器 v5.17.6.zip

    ActiveMQ v5.17.6是该服务器的一个稳定版本,包含了丰富的功能和优化,是开发和部署企业级消息系统的理想选择。本文将深入探讨ActiveMQ的核心特性、应用场景以及使用方法。 一、ActiveMQ核心特性 1. **多协议支持*...

    apache-activemq-5.8.0.rar

    这一版本是ActiveMQ发展历史中的一个重要里程碑,它提供了多种功能改进和性能优化。 Apache ActiveMQ的核心功能是作为消息代理,它允许应用程序之间通过消息进行通信,而不是直接调用彼此。这种解耦的通信方式提高...

    微信小程序连接mqtt.rar

    1. **服务器端MQTT Broker**:如Apache ActiveMQ、EMQ X Broker或HiveMQ等,它们负责接收和分发消息。 2. **微信小程序开发工具**:官方提供的IDE,用于编写和调试小程序代码。 3. **小程序的MQTT库**:如`wx-mqtt-...

    Apollo服务器及MQTT功能实现源码

    Apache Apollo是Atlassian公司开发的一个开源消息中间件,它是基于ActiveMQ项目发展起来的,专注于提供高可用性、高性能、低延迟的消息传递服务。Apollo支持多种消息协议,其中包括MQTT,这使得它成为物联网(IoT)...

Global site tag (gtag.js) - Google Analytics