【sping揭秘】24、Spring框架对JMS的集成(无环境版,以后学MQ的时候再隆重介绍)& 任务调度和线程池

时间:2022-04-03 06:43:31

这个我也不是很了解,那么这个需要好好学习一下了

JMS有2种消息域类型

1、 point to point 点对点模式

2、发布订阅模式  publish/subscribe Pub/Sub 模式

传统JMS API开发

目前没有环境,所以目前就写个demo,后面补上环境去测试一发

package jms;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException; import org.junit.Test; /**
* 测试jms方法
* @author xiaof
*
*/
public class JmsTest1 { /**
* jms消息发送
*/
@Test
public void test1() {
Connection con = null;
Session session = null; try {
//获取jndi
Context context = new InitialContext(); ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("jndi/jms/connectionFactory");
Destination destination = (Destination) context.lookup("jndi/jms/destination"); con = connectionFactory.createConnection();//创建连接
session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(destination); //设置对象 TextMessage message = session.createTextMessage();
message.setText("Hi");
messageProducer.send(message); messageProducer.close();
session.close(); } catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//关闭资源
if(con != null) {
try {
con.close();
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} } }

  

Spring改进后JMS

Jmstemplate 又来了,看到template我就不多bb了,大家自己体会,现在懂了吧,模板模式是真的很强大

我不多bb,大家自己去看template的封装吧,我都看吐了

【sping揭秘】24、Spring框架对JMS的集成(无环境版,以后学MQ的时候再隆重介绍)& 任务调度和线程池

【sping揭秘】24、Spring框架对JMS的集成(无环境版,以后学MQ的时候再隆重介绍)& 任务调度和线程池

反正这个template就是封装了一堆方法用以简便我们的操作

算了,不看了,以后看消息队列的时候再补充一下吧

Spring中的任务调度和线程池支持

Quartz

划分:

Job,JobDetail,Trigger,Scheduler

【sping揭秘】24、Spring框架对JMS的集成(无环境版,以后学MQ的时候再隆重介绍)& 任务调度和线程池

Spring如何融入quartz的呢?

Jdk中的timer

【sping揭秘】24、Spring框架对JMS的集成(无环境版,以后学MQ的时候再隆重介绍)& 任务调度和线程池