1.PooledConnectionFactory中有段代码
(1) this.connectionsPool.setMaxIdle(1);
保证connectionPool只反回同一个连接
(2)
try {
connection = connectionsPool.borrowObject(key);
} catch (Exception e) {
throw JMSExceptionSupport.create("Error while attempting to retrieve a connection from the pool", e);
}
try {
connectionsPool.returnObject(key, connection);
} catch (Exception e) {
throw JMSExceptionSupport.create("Error when returning connection to the pool", e);
}
连接borrow出去时,立即return归还。
这样每个次发送,jmsTemplate.send ....方法,使终获取的同一个连接。
2.ConnectionPool中的
public Session createSession(boolean transacted, int ackMode) throws JMSException {
SessionKey key = new SessionKey(transacted, ackMode);
PooledSession session;
try {
session = sessionPool.borrowObject(key);
} catch (Exception e) {
throw JMSExceptionSupport.create(e);
}
return session;
}
在哪里归还的呢?是在PooledSession的close方法进行归还
3.注意在browsConnection时执行validateObject方法
中的connection.expiredCheck()。
过期时 sessionPool.close();
所以每session中如果没有过期的话,
这样每个次发送,jmsTemplate.send ....方法,使终获取的同一个连接且同一个session
分享到:
相关推荐
Springboot ActiveMQ 集成,该项目中包含手动创建连接,以及使用Spring提供的支持,JmsTemplate的使用方式。
NULL 博文链接:https://13813962825.iteye.com/blog/2066980
JMS(使用消息中介:ActiveMQ) JMS为JAVA开发者提供了一个与消息中介进行交互,以及发送和接收消息的标准API,而且每一个消息中介的实现都会支持JMS。(即JMS为所有消息中介提供了统一接口);JmsTemplate是Spring...
使用spring jmstemplate写的activemq小demo,浅显易懂。工程下载导入可用(maven 工程) activemq 可直接apache官网下载 传送门http://activemq.apache.org/download.html
JMS与Spring之一(用JmsTemplate同步收发消息)
NULL 博文链接:https://holdbelief.iteye.com/blog/1491604
基于Spring+JMS+ActiveMQ+Tomcat,我使用的版本情况如下所示:Spring 3.2.0,ActiveMQ 5.4.3,Tomcat 6.0.43。本例通过详细的说明和注释,实现消息服务的基本功能:发送与接收。Spring对JMS提供了很好的支持,可以...
主要介绍了SpringBoot集成JmsTemplate(队列模式和主题模式)及xml和JavaConfig配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
下面通过学习与配置,实现消息服务的基本功能:发送与接收。Spring对JMS提供了很好的支持,可以通过JmsTemplate来方便地实现消息服务。这里,我们的消息服务不涉及事务管理。下面简单说明实例。
JmsTemplate jmsTemplate = (JmsTemplate) context.getBean("jmsQueueTemplate"); Destination destination = (Destination) context.getBean("defaultQueueDestination"); JmsUtil.sendMessage(jmsTemplate, de
Spring+JMS+消息处理
13.1.1. 与其他web框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. ...
Spring对JMS提供了很好的支持,可以通过JmsTemplate来方便地...本例通过activeMQ服务器模拟了消息的发送与接收。需要注意的是,activeMQ的运行依赖jdk的环境,而且对jdk的版本也有要求,我用的是jdk1.6+activeMQ5.4.3。
主要介绍了SpringBoot 整合 JMSTemplate的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
13.1.1. 与其他MVC实现框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. ...
13.1.1. 与其他web框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. ...
13.1.1. 与其他web框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. ...
介绍示例客户管理系统和邮件应用程序,从邮件系统读取和写入。 技术栈大纲1. Java EE 8:Bean 验证使用 JSR(349) 2. Spring MVC 3.2.3 3. RESTful/JSON 服务使用 Spring MVC 3.2.3 4.... 将 spring(JMSTemplate) 与 Jav
13.1.1. 与其他MVC实现框架的集成 13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. ...