这个我也不是很了解,那么这个需要好好学习一下了
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的封装吧,我都看吐了
反正这个template就是封装了一堆方法用以简便我们的操作
算了,不看了,以后看消息队列的时候再补充一下吧
Spring中的任务调度和线程池支持
Quartz
划分:
Job,JobDetail,Trigger,Scheduler
Spring如何融入quartz的呢?
Jdk中的timer
原文地址:https://www.cnblogs.com/cutter-point/p/9386126.html
时间: 2024-10-10 23:52:34