现象
Active Mq 客户端连接Active Mq服务端时,如果因为服务器重启等原因导致Mq客户端无法发送Mq消息
原因
Mq客户端的连接和服务端已经断开,但是客户端没有进行重连
解决方法
Mq断开连接后,可以自动重连
main.properties
main.openmq.sName=330103000000800536
main.openmq.sPwd=123456
main.openmq.sIp=10.30.4.89
main.openmq.sPort=57666
spring+Active的配置:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<context:annotation-config />
<context:component-scan base-package="
com.dahuazwan.ihds.mq.productor
" />
<!-- enable transaction demarcation with annotations -->
<tx:annotation-driven />
<!-- OpenMq -->
<bean id = "connectionFactory" class = "org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://${main.openmq.sIp}:${main.openmq.sPort}" />
<property name="userName" value="${main.openmq.sName}" />
<property name="password" value="${main.openmq.sPwd}" />
</bean>
<!-- 采用TCP长连接方式, 避免每次建立短连接需要的额外工作时间 -->
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
<constructor-arg ref="connectionFactory"></constructor-arg>
</bean>
<!-- jms Template -->
<bean id="innerJmsTemplate"
class="org.springframework.jms.core.JmsTemplate" >
<property name="connectionFactory" >
<bean class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="pooledConnectionFactory" />
<property name="reconnectOnException" value="true"/>
</bean>
</property>
<property name="timeToLive" value="1000000"/>
<property name="receiveTimeout" value="222222" />
</bean>
<!-- Sms Destination -->
<bean id="smsDestination" class="org.apache.activemq.command.ActiveMQTopic">
<constructor-arg index="0" value="zw.public.all.sms"/>
</bean>
</beans>
里面的关键代码段是:
<property name="connectionFactory" >
<bean class="org.springframework.jms.connection.SingleConnectionFactory">
<property name="targetConnectionFactory" ref="pooledConnectionFactory" />
<property name="reconnectOnException" value="true"/>
</bean>
</property>
如果设置reconnectOnException=true,则Jms连接发生异常时,重新向服务端发起连接,默认是false
参考文献:
Spring JMS (3)
分享到:
相关推荐
首先,我们需要配置JMS连接工厂,创建一个到Active MQ服务器的连接,然后创建会话和目的地(队列或主题),最后创建生产者和消费者。生产者用于发送消息,而消费者用于接收消息。这个示例可能涵盖了Active MQ的基本...
《Active MQ in action 教程》不仅是一本理论书籍,更是一本实践指南,适合所有对ActiveMQ感兴趣并希望深入了解其技术细节的开发者阅读。通过本书的学习,读者将能够掌握ActiveMQ的核心功能,了解如何在实际项目中...
标题“ActivePerl-5.14.2-x86”指的是一个特定版本的Perl解释器,ActivePerl,针对32位(x86)架构的Windows操作系统。ActivePerl是由ActiveState公司开发的一个流行的Perl发行版,它为Windows、Mac OS X和Linux提供...
标题"active-mq-5.11.1"指的是该版本的ActiveMQ,这是一个稳定且广泛使用的版本。 ActiveMQ作为中间件,其主要功能是提供消息传递服务,它允许应用程序之间通过发送和接收消息进行通信,而不是直接调用彼此。这种...
标题中的"ActivePerl-----Openssl安装所需依赖.rar"指出,这个压缩包文件包含了在Windows环境中安装ActivePerl时,OpenSSL库所需的依赖项。这通常意味着,为了在Windows系统上使用带有OpenSSL支持的Perl解释器,你...
QT开发必不可少,使用GRPC通讯测试时基本都必须的插件,WIN7-X64可用,最新perl,ActivePerl,win7x64可用的,grpc
"NoActive墓碑 v1.7-Alpha-Xposed模块.zip" 这个标题揭示了我们正在处理一个特定版本的软件模块,名为"NoActive墓碑",其版本号为v1.7-Alpha。这个软件是设计用于Xposed框架的一个插件或模块。Xposed框架是一个在...
Jfinal -active mq: 消费:extends JFinalQueueConsumer 生产:JFinalQueue.sendMessage(queueName, message);
Active4j-flow是基于SpingBoot2.0与activiti7.x开发的一套工作流程管理系统。是以active4j-jsp为项目基础架构构建而成。以Spring Framework为核心容器,Spring MVC为模型视图控制器,Mybatis Plus为数据访问层, ...
在本项目"active_mq_mvc源码"中,我们主要关注的是如何在MVC(Model-View-Controller)架构中有效地集成ActiveMQ,一个流行的Java消息代理和消息中间件。源码分析将揭示设计思想、设计模式以及如何巧妙地运用反射...
ActivePerl-5.28.1 win10 x64离线安装包(官方),可避免从官网下载速度慢的问题。 ActivePerl-5.28.1 win10 x64离线安装包(官方),可避免从官网下载速度慢的问题。 ActivePerl-5.28.1 win10 x64离线安装包(官方...
主动ORB-SLAM2(Active-ORB-SLAM2)是一种增强版的视觉SLAM(Simultaneous Localization and Mapping)系统,它在经典的ORB-SLAM2基础上加入了主动决策策略,旨在提高定位精度和地图构建效率。ORB-SLAM2是由Vidal等...
spring.datasource.druid.max-active=20 ``` 3. **编写JDBC测试代码**:在`JDBCTest`类中,我们可以使用Spring Data JPA或者传统的JDBC API来执行数据库操作。例如,使用JdbcTemplate进行查询: ```java import org....
apache-activemq-5.6.0 绿色版,解压即可启动
ActivePerl是Perl编程语言在Windows平台上的一个流行版本,它为开发者提供了在Windows系统上编写、运行和管理Perl脚本的便利。标题中的"ActivePerl-5.28.1.0000-MSWin32-win10x64-65ffd8c2.rar"指的是该软件的特定...
官方最新版的perl编译工具,支持windows 64位操作系统。
Active MQ C++实现通讯 X86 librariy:CMS (stands for C++ Messaging Service)类似于JMS API用于同Message Brokers通讯(例如Active MQ)。 APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如...
标题中的"ActivePerl-5.26.1.2601-MSWin32-x64-404865.exe"是一款专为Windows 64位系统设计的Perl解释器,由ActiveState公司开发。Perl是一种高级的、通用的、解释型、动态的编程语言,具有强大的文本处理能力,广泛...
本篇文章将深入探讨如何使用古老的编程语言Delphi 7与IBM WebSphere MQ集成,实现向远程消息队列发送消息的功能。 首先,要进行这种开发工作,你需要确保已安装了IBM WebSphere MQ客户端库,因为Delphi程序需要依赖...
标题 "ActivePerl-5.20.2-MVwin32" 指的是一个针对Windows 32位系统的ActivePerl版本,版本号为5.20.2。ActivePerl是Perl编程语言的一个预编译版本,专为提高在Windows环境下的易用性和性能而设计。Perl是一种功能...