如何配置Spring Boot ActiveMQ连接池
如何配置Spring Boot ActiveMQ连接池?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
ActiveMQ的简介
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。
ActiveMQ的功能
⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
⒉ 完全支持JMS1.1和J2EE1.4规范 (持久化,XA消息,事务)
⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性
⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上
⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
⒍ 支持通过JDBC和journal提供高速的消息持久化
⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点
⒏ 支持Ajax
⒐ 支持与Axis的整合
⒑ 可以很容易的调用内嵌JMS provider,进行测试
spring.activemq.pool.enabled=false时,每发送一条数据都需要创建一个连接,这样会出现频繁创建和销毁连接的场景。为了不踩这个坑,我们参考池化技术的思想,配置ActiveMQ连接池。在Spring Boot ActiveMQ发布/订阅消息模式原理解析的基础上配置ActiveMQ连接池,只需要做两项修改——配置文件和添加连接池依赖。
修改application.properties配置文件
## URL of the ActiveMQ broker. Auto-generated by default. For instance `tcp://localhost:61616`spring.activemq.broker-url=tcp://localhost:61616spring.activemq.in-memory=true#默认值false,表示point to point(点到点)模式,true时代表发布订阅模式,需要手动开启spring.jms.pub-sub-domain=truespring.activemq.user=wienerspring.activemq.password=wiener#true表示使用连接池;false时,每发送一条数据创建一个连接spring.activemq.pool.enabled=true#连接池最大连接数spring.activemq.pool.max-connections=10#空闲的连接过期时间,默认为30秒spring.activemq.pool.idle-timeout=30000#强制的连接过期时间,与idleTimeout的区别在于:idleTimeout是在连接空闲一段时间失效,而expire Timeout不管当前连接的情况,只要达到指定时间就失效。默认为0,neverspring.activemq.pool.expire-timeout=0
添加maven依赖
pom.xml也要加入依赖包,否则启动报JmsMessagingTemplate注入失败 。 使用springboot2.1+的时候,maven配置依赖是:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>5.2.7.RELEASE</version> </dependency>
使用springboot2.0及以下版本时候,maven配置依赖是:
<dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId></dependency>
使用Spring Boot ActiveMQ发布/订阅消息模式原理解析中的测试用例验证即可查看效果,解锁新技能成功。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。