0 0

Active MQ不能多个broker同事连接0

使用active MQ做数据传输,这里有两个生产者,一个消费者。生产者的broker配置如下:
<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
        -->
        <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
          -->
          <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"  disableAsyncDispatch="true"/>
            <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>
            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>
这是active mq的原始配置,没有做任何修改。
消费者的broker配置如下:
<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>

<networkConnectors>
<networkConnector uri="static://(tcp://192.168.1.70:61617,tcp://192.168.1.170:61618)" duplex="true"/>
</networkConnectors>


        <!--
            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"/>
        </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"  disableAsyncDispatch="true"/>
            <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>
            <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>
在这里让消费者共享两个生产者的broker中队列的信息(队列暂未配置),但是连接的时候出现异常信息:javax.jms.InvalidClientIDException: Broker: localhost - Client: NC_localhost_inbound_localhost already connected from vm://localhost#0。
上网看了一下,大概的意思就是客户编号已经连接到了vm://localhost#0,新创建的客户编号重复了,有的说添加static关键字,修改成线程同步,但是不知道具体怎么修改,有人做过这方面的么,谢谢了
目前还没有答案

相关推荐

    Active MQ in action 教程

    而在Pub/Sub模型中,多个订阅者可以接收同一个消息。 ### 知识点三:ActiveMQ组件配置 #### 连接ActiveMQ 连接到ActiveMQ通常涉及配置客户端连接参数,如Broker URL、身份验证凭证等。书中会详细介绍如何使用不同...

    Active MQ in Action

    5. **网络与集群**:讨论了ActiveMQ如何通过网络连接多个broker形成集群,以及如何处理故障转移和负载均衡。 6. **安全性**:讲解了如何配置和管理用户访问控制,包括基于角色的访问控制(RBAC)和SSL/TLS加密。 7...

    active MQ ,消息队列

    生产者将文件拆分成多个小块,每一块作为一个消息发送到队列,消费者则按顺序接收并重新组合成原始文件。 ActiveMQ提供了多种消息类型,包括点对点(Queue)和发布/订阅(Topic)模型。点对点模型中,每个消息只能...

    Active MQ 与 IBM WebSphere MQ 可用性和管理分析

    此外,Apache ActiveMQ在故障转移场景下,没有中央化的管理方式,意味着管理员需要单独访问每一个Broker来管理。而对于IBMMQ而言,提供了对集群环境的集中化管理,管理控制台可以管理整个集群的配置,这在复杂的企业...

    active-mq开发手册

    - **Topic**:发布/订阅模式,消息可以被多个消费者消费。 - **Message**:消息内容,包括头信息和消息体。 - **Producer**:生产消息的实体。 - **Consumer**:消费消息的实体。 - **Client**:包含Producer和...

    Active MQ的配置和使用

    6. 负载均衡:多个ActiveMQ broker实例可以联合工作,进行负载均衡。 配置ActiveMQ包括编辑配置文件activemq.xml,这个文件分为properties和children两部分。配置选项包括但不限于: 1. brokerName:用于设置...

    ActiveMQ学习笔记之四--启动嵌入式Broker(纯代码方式)

    在本篇ActiveMQ学习笔记中,我们将探讨如何通过纯代码方式启动一个嵌入式的Broker,这对于测试、开发或者快速原型构建非常有用。ActiveMQ是一个开源的消息代理,它遵循Java消息服务(JMS)规范,提供了高可靠性的...

    active-mq-5.11.1

    网络连接特性让多个ActiveMQ实例能形成集群,提供高可用性和负载均衡。此外,ActiveMQ还支持虚拟主题(Virtual Topics)和代理网络,这在大型分布式系统中非常有用。 标签"MQ 中间件"表明ActiveMQ是一个消息中间件...

    JMS 之 Active MQ 的消息传输(详解)

    在ActiveMQ中,可以配置多个Broker实例。客户端与ActiveMQ交互实际上是与其中的某个Broker进行交互。Broker的具体配置可以在ActiveMQ的配置文件`activemq.xml`中找到,该文件一般位于`${MQ_HOME}\conf`目录下。 ...

    apache-activemq-5.15.3 mq包

    Apache ActiveMQ是开源的、基于Java消息服务(JMS)的Message Broker,它是一个高度可扩展且功能丰富的消息中间件。这个"apache-activemq-5.15.3-bin.zip"压缩包包含了ActiveMQ的5.15.3版本,这是一个稳定且广泛使用...

    Android基于MQTT协议利用ActiveMQ发送消息给Android端接收

    在消息接收部分,Android应用需要订阅一个或多个主题。通过调用subscribe方法,指定主题并提供一个Callback,当有新消息到达时,Callback会被调用,处理接收到的数据。这种机制使得Android应用可以在后台持续监听...

    ActiveMQ高并发处理方案

    当使用多个线程(如10个)以一定频率(比如每100毫秒)发送消息时,可能会出现发送一定数量的消息后(约3000条),所有线程停止,并抛出异常 `javax.jms.JMSException: Could not connect to broker`。进一步查看...

    消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较

    Kafka主要关注于提供高吞吐量的数据管道,类似于UDP和TCP的区别——即强调效率而非保证每个消息都能被送达。 - **特性**: - **高吞吐量**: Kafka被设计成能够处理大量数据流,适用于日志收集、用户行为追踪、基础...

    activeMq消息队列demo

    - **网络连接**:多个ActiveMQ实例间的集群和负载均衡。 这个"activeMQ消息队列demo"将展示如何创建生产者和消费者,设置消息的发送和接收,以及如何利用ActiveMQ的基本功能。对于初学者来说,这是一个很好的起点...

    ActiveMq笔记.zip

    - **主题(Topic)**: 多对多通信模式,多个订阅者可以同时接收同一主题的消息。 - **队列(Queue)**: 一对一通信模式,每个消息仅被一个消费者接收。 - **代理(Broker)**: ActiveMQ的核心组件,负责存储和转发...

    springboot集成activeMQ

    发布/订阅模式(Topic)则是一种广播通信方式,消息会被多个订阅者接收。生产者类和点对点模式类似,只是目的地变为Topic: ```java @Service public class TopicProducer { @Autowired private JmsTemplate ...

    apache-activemq-5.15.3-bin.tar.gz

    - **负载均衡**:ActiveMQ能自动将消息分发到多个消费者,实现负载均衡。 - **安全性**:支持用户认证和授权,可以通过SSL/TLS加密通信,保证数据安全。 - **管理工具**:提供Web控制台和命令行工具,方便管理和监控...

    ActiveMQ-API

    而在发布/订阅模式中,一个消息可以被多个订阅者消费。 6. **事务与持久化**: - ActiveMQ支持本地JMS事务和X/Open XA分布式事务,保证消息的一致性。 - 持久化机制确保即使服务器宕机,消息也不会丢失,能够恢复...

    Oracle Database 19c (LINUX.X64-193000-gateways.zip)

    4. **Message Broker Gateway**:为Oracle Advanced Queuing(AQ)提供与异构消息系统(如IBM MQ Series)的集成,实现消息传递和事件驱动的架构。 5. **Web Services Gateway**:使得Oracle数据库能够与Web服务...

Global site tag (gtag.js) - Google Analytics