免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 916 | 回复: 0
打印 上一主题 下一主题

JMS(Java Message Service) [转] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-14 14:28 |只看该作者 |倒序浏览

               
消息中间件
消息中间件提供企业数据的异步传输,通过消息中间件,一些原本互相孤立的业务组件可以组合成一个可靠的、灵活的系统。
消息中间件大致分为两类:
Point-to-Point(PTP)
Publish-Subscribe(Pub/Sub)
PTP
是点对点传输消息,建立在消息队列的基础上,每个客户端对应一个消息队列,客户端发送消息到对方的消息队列中,从自己的消息队列读取消息。
Pub/Sub是将消息定位到某个层次结构栏目的节点上,Pub/Sub通常是匿名的并能够动态发布消息,Pub/Sub必须保证某个节点的所有发布者
(Publisher)发布的信息准区无误地发送到这个节点的所有消息订阅者(Subscriber)。
什么是JMS(Java Message Service)
JMS定义了Java中访问消息中间件的接口。
JMS只是接口,并没有给予实现,实现JMS接口的消息中间件叫JMS Provider,这样的消息中间件可以从Java里通过JMS接口进行调用。
JMS和其他企业级Java API的关系
JDBC JMS客户端可以使用JDBC接口,可以将JDBC和JMS包含在一个事务里。这种包含可以在EJB里,也可以直接调用JTA(Java Transaction API)接口实现。
JavaBeans JavaBeans可以用JMS Session发送接收消息。
EJB
对于EJB组件来说,JMS和JDBC一样,是一个很重要的企业级服务资源。目前的EJB规范定义客户端只能同步调用EJB,未来的规范将会定义通过一个JMS客户端发消息异步调用EJB组件。
JTA(Java Transaction API) JMS客户端可以用JTA启动事务。JMS Provider可以选择是否支持分布式事务。
JTS(Java Transaction Service) JMS可以和JTS一起组成一个分布式事务,如将发送接收消息和更新数据库包含在一个事务里。
JNDI JMS 客户端通过JNDI调用JMS中的对象。
JMS 消息模型
JMS消息由两部分构成:header和body。header包含消息的识别信息和路由信息,body包含消息的实际数据。
根据数据格式,JMS消息可分为以下五种:
BytesMessage 消息是字节流。
MapMessage 消息是一系列的命名和值的对应组合。
ObjectMessage 消息是一个流化的Java对象。
StreamMessage 消息是Java中的输入输出流。
TextMessage 消息是一个字符串,这种类型将会广泛用于XML格式的数据。
JMS 消息优先级
邮局发信分为平信和特快专递两种,同样JMS也根据消息的轻重缓急将消息分为0-9十个级别。0-4是普通消息,5-9是加急消息。JMS不要求消息中间件严格按照这十个优先级发送消息,但必须保证加急消息要先于普通消息到达。
Apusic对JMS的支持
Apusic Application Server包含一个完全遵循JMS接口规范开发的消息中间件,Apusic消息中间件支持通常的两种消息中间件:PTP和Pub/Sub。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/10369/showart_200164.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP