Java消息服务底子[Java编程]
本文“Java消息服务底子[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在差别系统之间交换信息的一大障碍是如安在切确交换和格局化数据方面获得一致.Java Message Service( Java消息服务,简称JMS)通过供应一种与J2EE利用程序或传统系统交互的办法部份的办理了这个问题.
JMS的通用接口调集以异步方法发送或接纳消息.异步方法接纳消息明显是利用中止网络衔接的客户机,诸如移动电话和PDA的最好的挑选.别的, JMS采取一种宽松结合方法整合企业系统的办法,其主要的目的就是成立可以利用跨平台数据信息的、可移植的企业级利用程序,而把开辟人力约束出来.
Java消息服务支持两种消息模子:Point-to-Point消息(P2P)和公布定阅消息(Publish Subscribe messaging,简称Pub/Sub).JMS标准并不要求供应商同时支持这两种消息模子,但开辟者应当熟习这两种消息模子的上风与缺陷.
P2P消息模子是在点对点之间传送消息时利用.假如利用程序开辟者但愿每一条消息都可以被处理,那么应当利用P2P消息模子.与Pub/Sub消息模子差别,P2P消息老是可以被传送到指定的位置.
Pub/Sub模子在一到多的消息广播时利用.假如一定程度的消息传送的不坚固性可以被承受的话,那么利用程序开辟者也可以利用Pub/Sub消息模子.换句话说,它实用于全部的消息消费程序并不要求可以收到全部的信息大概消息消费程序并不想接纳到任何消息的情形.
JMS通过答应成立长期定阅来简化时间相关性,即便消息预订者未激活也可以接纳到消息.此外,利用长期定阅还可通过行列供应机动性和坚固性,而仍旧答应消息被发给很多的接纳者.
Topic Subscriber topic Subscriber =
topicSession.createDurableSubscriber(topic, subscriptionName);
Connection对象表示了到两种消息模子中的任一种的消息系统的衔接.服务器端和客户机端对象要求管理成立的JMS衔接的状况.衔接是由Connection Factory成立的并且通过JNDI查寻定位.
//获得用于 P2P的 QueueConnectionFactory
QueueConnectionFactory = queueConnectionFactory( );
Context messaging = new InitialContext( );
QueueConnectionFactory = (QueueConnectionFactory)
Messaging.lookup(“QueueConnectionFactory”);
//获得用于 pub/sub的 TopicConnectionFactory
TopicConnectonFactory topicConnectionFactory;
Context messaging = new InitialContext();
topicConnectionFactory = (TopicConnectionFactory)
messaging.lookup(“TopicConnectionFactory”);
注意:用于P2P的代码和用于PublishSubscribe的代码非常类似.
假如session被标志为transactional的话,确认消息就通过确认和校正来自动地处理.假如session没有标志为 transactional,你有三个用于消息确认的选项.
· AUTO_ACKNOWLEDGE session将自动地确认收到一则消息.
· CLIENT_ACKNOWLEDGE 客户端程序将确认收到一则消息,调用这则消息的确认办法.
· DUPS_OK_ACKNOWLEDGE 这个选项号令session“懒散的”确认消息传送,可以想到,这将招致消息供应者传送的一些复制消息大概会出错.这种确认的方法只该当用于消息消费程序可以容忍潜在的副本消息存在的情形.
queueSession = queueConnection.createQueueSession(false, session.AUTO_ACKNOWLEDGE);//P2P
topicSession = topicConnection.createTopicSession(false, session.AUTO_ACKNOWLEDGE); //Pub-Sub
以上是“Java消息服务底子[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |