选择显示字体大小

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

  注意:在本例中,一个session目的从连结中创建,非值指出session是non-transactional的,并且 session将自动地确认收到一则消息。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons