博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ(07):ActiveMQ结合Spring开发--建议
阅读量:6717 次
发布时间:2019-06-25

本文共 1568 字,大约阅读时间需要 5 分钟。

1、Camel框架支持大量的企业集成模式,可以大大简化集成组件间的大量服务和复杂的消息流。而Spring框架更注重简单性,仅仅支持基本的最佳实践。

2、Spring消息发送的核心架构是JmsTemplate,隔离了像打开、关闭Session和Producer的繁琐操作,因此应用开发人员仅仅需要关注实际的业务逻辑。

  但是JmsTemplate损害了ActiveMQ的PooledConnectionFactory对session和消息producer的缓存机制而带来的性能提升。

3、新的Spring里面,可以设置org.springframework.jms.connection.CachingConnectionFactory的sessionCacheSize ,或者干脆使用ActiveMQ的

  PooledConnectionFactory,如下:

1
2
3
4
5
6
7
8
9
10
11
12
    
<
bean 
id
=
"jmsFactory" 
class
=
"org.apache.activemq.pool.PooledConnectionFactory" 
destroy-method
=
"stop"
>
        
<
property 
name
=
"connectionFactory"
>
        
<
bean 
class
=
"org.apache.activemq.ActiveMQConnectionFactory"
>
            
<
property 
name
=
"brokerURL"
>
            
<
value
>${activemq.brokerURL}</
value
>
        
</
property
>
        
<
property 
name
=
"userName" 
value
=
"${activemq.userName}"
></
property
>
            
<
property 
name
=
"password" 
value
=
"${activemq.password}"
></
property
>
        
</
bean
>
    
</
property
>
    
<
property 
name
=
"maxConnections" 
value
=
"${activemq.maxConnections}"
></
property
>
    
</
bean
>

4、不建议使用JmsTemplate的receive()调用,因为在JmsTemplate上的所有调用都是同步的,这意味着调用线程需要被阻塞,直到方法返回,这对性能影响很大。

5、请使用DefaultMessageListenerContainer,它允许异步接收消息并缓存session和消息consumer,而且还可以根据消息数量动态的增加或缩减监听器的数量。

1
2
3
4
5
6
<!-- 消费者监听器 -->
<
bean 
id
=
"jmsContainer" 
class
=
"org.springframework.jms.listener.DefaultMessageListenerContainer"
>
    
<
property 
name
=
"connectionFactory" 
ref
=
"jmsFactory" 
/>
    
<
property 
name
=
"destination" 
ref
=
"destinationTopic" 
/>
    
<
property 
name
=
"messageListener" 
ref
=
"messageListener" 
/>
</
bean
>
本文转自我爱大金子博客51CTO博客,原文链接http://blog.51cto.com/1754966750/1916382如需转载请自行联系原作者   我爱大金子
你可能感兴趣的文章
外勤365:提升企业线下销售效率,成就移动外勤首选品牌
查看>>
防范网络犯罪组合拳 警企合作是关键
查看>>
黑客入侵好莱坞越发失控 黑客组织高调发声明威胁
查看>>
结合重复数据删除和Rowhammer的攻击怎么解?
查看>>
携手美国糖尿病协会,IBM将用大数据改变糖尿病的未来
查看>>
再续 asp.net 域名欺骗式开发之泛解析域名
查看>>
先是山寨后是烂大街 联发科的症结在哪?
查看>>
Snapchat升级聊天功能:增加贴纸、语音和视频
查看>>
5000万美元融资构建产业链!EasyStack深耕开源云
查看>>
因为你没加密 所以网络保险不给你理赔
查看>>
iOS零日漏洞赏金已升至150万美元
查看>>
印媒:中国厂商势头强劲 索尼三星在印度裁员
查看>>
苹果不再披露广告支出 或为掩饰销售额背后的支出增长
查看>>
中国太阳能续增 补贴、技术转型均受重视
查看>>
北京信息化协会人工智能专委会成立 AI产业快速腾飞
查看>>
《PostgreSQL服务器编程》一一1.9 关于缓存
查看>>
IBM芯片计划:生物是设计更高效芯片的关键
查看>>
没有这个黑客,就不会有你现在用的开源软件
查看>>
传统管理软件走在“生死边缘”,突围SaaS向死而生?
查看>>
这些数据科学技能,才是老板们最想要的
查看>>