`

failover与ActiveMQ的jms.prefetchPolicy.queuePrefetch以及wireFormat.maxInactivityDura

 
阅读更多
   项目使用到activeMQ,在使用过程中遇到一个问题,我使用多个线程去读取队列,每个线程使用一个queue的连接对象,这些连接对象都读取ActiveMQ中的同一个消息队列。但发现只有第一个队列可以循环读取,别的队列都读取到null,但使用activeMQ的控制台查看,队列里还有20多个消息呢,后来google才知道,原来为了性能优化,ActiveMQ为每个open的链接预抓取一个数量的消息(默认情况是100个),也就是说第一个打来的连接将队列里20多个消息都预锁定了,第二个连接读取就为空了。为了避免这样的情况,可以设置预读取为1,使用jms.prefetchPolicy.queuePrefetch参数加载open的url后面如:tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=1。
但我加上后,死活连接不上,经过google上百度一下,才知道我这样的写法不对:
failover:(tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=1&wireFormat.maxInactivityDuration)其中wireFormat.maxInactivityDuration是心跳参数。
我尝试去掉wireFormat.maxInactivityDuration参数也不行。
最后才知道wireFormat.maxInactivityDuration参数和jms.prefetchPolicy.queuePrefetch参数位置写反了(这个很莫名)
需要这样写才正确:
failover:(tcp://localhost:61616?wireFormat.maxInactivityDuration)?jms.prefetchPolicy.queuePrefetch=1
分享到:
评论

相关推荐

    ActiveMQ_使用failover模式进行连接切换时,线程断开

    具体来说,是在`org.apache.activemq.transport.failover.FailoverTransport.FailoverTransport()`构造函数中增加一行代码: ```java reconnectTaskFactory.setDaemon(false); ``` 这里的`setDaemon(false)`的作用...

    ActiveMq-JMS简单实例使用tomcat.pdf

    <Resource name="jms/FailoverConnectionFactory" auth="Container" type="org.apache.activemq.ActiveMQConnectionFactory" description="JMS Connection Factory" factory="org.apache.activemq.jndi....

    SpringActiveMQ.rar

    8. **Spring Boot与ActiveMQ**:在Spring Boot应用中,可以利用 starters 来简化配置,通过`spring.activemq.broker-url`和`spring.activemq.user`等属性快速设置ActiveMQ连接。 9. **消息确认**:ActiveMQ支持两种...

    java springboot整合activemq工程

    spring.activemq.broker-url=failover:(tcp://10.0.1.227:61616,tcp://10.0.1.228:61616,tcp://10.0.1.229:61616,mqtt://10.0.1.227:1883,mqtt://10.0.1.228:1883,mqtt://10.0.1.229:1883) #spring.activemq.broker-...

    ActiveMq-JMS好用实例详解

    type="org.apache.activemq.command.ActiveMQTopic" ... ``` 上述配置定义了两个连接工厂资源和一个主题资源,这些资源将用于创建JMS生产者和消费者。 ##### 创建示例应用 接下来,根据具体的需求,编写Java...

    ActiveMQ主备自动failover方案

    ActiveMQ主备自动failover方案 ActiveMQ5.8.0版本的主备有两种方式:共享文件系统、共享数据库。性能上共享文件系统要优于共享数据库。 本文档采用共享文件系统的方式实现主备。共享文件系统最好使用分布式文件存储...

    activemq学习心得.docx

    activemq学习心得 activemq是Apache软件基金会所研发的开放源代码消息队列iddleware,主要用来实现异步消息处理、解耦合和扩展系统。以下是activemq学习心得的知识点总结: 一、activemq配置文件 activemq的配置...

    activemq activeMq笔记

    <bean id="connectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> ``` 需要注意的是,使用消息连接池需要引入...

    activeMQ集群的使用与配置[收集].pdf

    ActiveMQ集群的使用与配置 ActiveMQ集群支持多种不同的方面,包括Queue consumer clusters、Broker clusters和Network of brokers等。 Queue Consumer Clusters ActiveMQ支持订阅同一个queue的consumers上的集群...

    activeMQ集群的使用与配置[归类].pdf

    与`reliable://`协议(在ActiveMQ 3.x版本中使用)相比,`failover://`提供了更稳定的服务恢复。不过,standalone brokers不能感知到其他brokers的消费者,这意味着如果一个broker没有消费者,它可能无法处理积压的...

    ASA配置failover实例[借鉴].pdf

    ASA 配置 Failover 实例 本篇文章将详细介绍如何配置 ASA5520 的 Failover 实例,以实现网络安全性和冗余的考虑。 Failover 是一种高可用性技术,可以在设备出现故障时自动切换到备用设备,以确保网络的连续性。 ...

    ActiveMQ与Tomcat整合教程

    【ActiveMQ与Tomcat整合教程】是关于如何在Apache Tomcat服务器中集成开源消息中间件ActiveMQ的详细步骤。这个教程适用于Tomcat 6.0.14版本,但请注意不同版本可能存在配置上的差异。 首先,为了使Tomcat能够识别和...

    zookeeper与activemq整合

    测试的主要目的是验证ActiveMQ的故障转移功能以及与Zookeeper的集成效果。 #### 三、测试目标 - **验证ActiveMQ的故障转移**:即在单个节点出现故障时,其他节点能否自动接管并继续提供服务。 - **与Zookeeper的...

    Avaya呼叫中心Failover解决方案.pdf

    Avaya呼叫中心Failover解决方案.pdf

    ASA双主Failover配置操作.docx

    ASA双主Failover配置操作.docx

    failover-manager-master.zip_failover

    "failover-manager-master.zip_failover" 提到的“failover”机制正是为了实现这一目标,确保在主节点发生故障时,系统能够自动切换到备用节点,以保持服务的连续性和数据的一致性。 **Failover(故障转移)** 是一...

Global site tag (gtag.js) - Google Analytics