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如需转载请自行联系原作者   我爱大金子

ActiveMQ(07):ActiveMQ结合Spring开发--建议相关推荐

  1. 利用Maven搭建Spring开发环境 【转】

    2019独角兽企业重金招聘Python工程师标准>>> 一.   概要说明 最近几天在测试Spring3.0的AOP功能,在测试功能之前,首先是要搭建出Spring3.0的开发功能. ...

  2. SSM Chapter 07 MyBatis与Spring的整合

    SSM Chapter 07 MyBatis 与 Spring 的整合 笔记 本章目标: 掌握Spring与MyBatis的集成 掌握使用SqlSessionTemplate实现整合 掌握使用Mapp ...

  3. 今天的面试官是个锤子,Spring为什么建议使用构造器来注入?

    欢迎关注方志朋的博客,回复"666"获面试宝典 本文的内容主要是想探讨我们在进行Spring 开发过程当中,关于依赖注入的几个知识点.感兴趣的读者可以先看下以下问题: @Autow ...

  4. Spring为什么建议构造器注入?

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://juejin.cn/post/6844904056230690824 前言 本章的内容主要是想探讨我们在进 ...

  5. Spring为什么建议使用构造器来注入?

    作者 | Richard_Yi 来源 | juejin.cn/post/6844904056230690824 前言 本章的内容主要是想探讨我们在进行Spring 开发过程当中,关于依赖注入的几个知识 ...

  6. 学习spring2--跟我一起学Spring 3(3)–使用Spring开发第一个HelloWorld应用

    http://www.importnew.com/13246.html 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 我要投稿 更多频道 » - 导航条 -首页所有文章资讯Web架构基础技 ...

  7. ActiveMQ入门-ActiveMQ环境搭建

    http://activemq.apache.org/从阿帕奇的官方下载,ActiveMQ的环境搭建依赖于JDK,建议使用1.8 解压缩就能用,执行bin文件夹下面的可执行文件 ➜ ~ cd /Use ...

  8. 面试官:Spring为什么建议使用构造器来注入?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 本文的内容主要是 ...

  9. spring 开发环境_设置Spring 3开发环境

    spring 开发环境 本教程简要说明了如何设置典型的环境来开发基于Spring的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. 在教程 ...

最新文章

  1. Bash shell
  2. 基于Spark的移动用户主要活动地点的挖掘算法实现以及JavaEE技术整合
  3. [唐诗]入朝洛堤步月-上官仪
  4. JavaScirpt类型检测函数总结
  5. sql int 转string_由String引发的思考
  6. Problem Solving(POJ-3265)
  7. 诗歌rails之Hacking ActiveRecord
  8. 从零基础入门Tensorflow2.0 ----一、1.3 实战分类模型(实战回调函数)
  9. mac版本 sadptool_海康 设备 发现(SADPTool原理)
  10. C#学习记录——C#项目开发实战:快递单打印精灵(一)
  11. SpringCloud-服务网关
  12. Web--html认识、标签、基本结构
  13. 第六届苏州·张家港全球创新创业大赛等你来赛!
  14. 时间很快,请多做有意义的事情
  15. 转:com组件纯C++创建
  16. 毕业设计 基于stm32的火灾报警系统设计与实现 - 单片机 物联网
  17. 内网渗透(九)之内网信息收集-手动本地信息收集
  18. oracle表空间扩容asm,oracle表空间文件系统迁移到ASM
  19. 打孔纸带计算机运行原理
  20. 帧结构和物理资源(CCE,CORESET)

热门文章

  1. JDK 7,jdk1.7 安装及配置
  2. Spring3.1.0+Quartz1.8.6整合实现计划任务
  3. LeetCode - Easy - 696. Count Binary Substrings
  4. LeetCode - Easy - 14. Longest Common Prefix
  5. python综合管理系统_Python-20 (信息系统-框架/循环/增删/综合应用)
  6. 加密机组会 会议纪要
  7. 企业贡献开源,其背后的战略动机是什么?
  8. wireshark解析rtp协议,流媒体中的AMR/H263/H264包的方法
  9. ffmpeg的编译(for x86,for arm)安装及使用(网络资料整理)
  10. 程序员面试中遇到问题