`
ceasarje
  • 浏览: 77056 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于JMS的介绍和总结

阅读更多
介绍
JMS就是用来发送和接收消息的java标准API.

JMS API 支持两种模式:
1.点对点模式(1)只有一个消息消费者将接受到消息。
(2)在消费者获取消息的时候消息生产者并不需要运行,同样对于生产者运行发送消息的时候消费者的状态跟生产者也不相干。
(3)每条被成功接收处理的消息都可以通过消费者进行反馈。
2.发表-订阅模式(1)对于同一条消息可以有多个消费者。
(2)在消息发表者和订阅者之间有时间依赖性,发表者需要按照一个顺序来制定签署同意订阅者来订阅消息,然后订阅者按照这个顺序去获取消息。订阅者应该按照顺序连续地被激活来接收消息,如果某消费者获取消息超时断掉的时候,这些消息会被保存起来直到订阅者再次重新连接上时发过去。

API
ConnectionFactory - 创建到消息生产者的连接工厂。
Connection        - 创建一个在应用程序和消息服务器通信的连接。

Destination       - 用来对消息目的地进行封装,这个消息目的地也就是定义消息将被发往哪里来进行消费,它可以是一个队列也可以是一个主题。

MessageConsumer   - 消息消费者,包括从队列或者主题类型来接收同步(允许阻塞)或者异步(无阻塞)的消费者。

MessageListeners  -  对于消息来说消息监听者扮演着异步事件处理者的角色,它是一个实现了消息监听者的对象。通过它的onMessage方法你可以定义当有消息到达时希望对之执行的动作。

MessageSelectors  - 如果你的消息应用程序需要过滤它接收到的消息时你可以使用该类,它允许消息消费者指定自己感兴趣的消息,该类把过滤消息的工作交给消息生产者去做而不是交给消息应用程序去做。

Message           - 从字面上理解,就是在生产者和消费者之间传输的消息,也可以指从应用程序到其它程序之间的消息。
一个消息包含以下部分:
消息头: 这个是必需的,里面定义了一些关于消息区分和路由的设置信息。
消息属性集: 这个是可选的,包含了支持与其他生产者和用户兼容的附加属性,它可以被用来创建自定义字段或者消息过滤器选择器。
消息体: 允许用户创建5种消息(文本消息,图消息,字节消息,流消息,对象消息).

异常处理           - 被JMS API方法抛出的异常均继承自顶级父类JMSException,捕获JMSException的catch块中提供对所有异常的一般处理.从JMSException类延伸出的异常有以下子类:
IllegalStateException
InvalidClientIDException
InvalidDestinationException
InvalidSelectorException
JMSSecurityException
MessageEOFException
MessageFormatException
MessageNotReadableException
MessageNotWriteableException
ResourceAllocationException
TransactionInProgressException
TransactionRolledBackException

2
0
分享到:
评论
2 楼 ceasarje 2009-11-01  
说的也是,呵呵,这个一般在开发复杂的企业级系统和大规模集成应用的时候才有机会用吧,
1 楼 releasa 2009-10-31  
没机会实际用。。

相关推荐

    Java网络高级编程

    第8章介绍异步消息服务技术JMS和Java Mail技术;第9章介绍利用WebLogic为服务器的EJB技术。第10章介绍Java安全体系结构、密钥、消息摘要、数字签名、访问控制、安全套接口SSL、主体身份认证JAAS和公共密钥构架PKI...

    active mq思维导图

    Active MQ 基础知识思维导图。主要是JMS总结介绍。用于学习和复习

    分布式事务实践 解决数据一致性

    介绍了Spring的事务机制、事物抽象、内部事务和外部事物,以及常用的几种事务管理的实现,包括DataSource、JPA、JMS、JTA都通过实例进行说明。还有XA以及两阶段提交,并通过实例演示了使用JTA,通过两阶段提交,实现...

    java 面试题 总结

    引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始...

    微服务架构的分布式事务解决方案,完整31讲-龙果学院

    分布式事务课程列表: 第01节--课程介绍 第02节--解决方案的效果演示 第03节--常用的分布式事务解决方案介绍 第04节--消息发送一致性方案探讨(可靠消息的前提保障) 第05节--JMS规范的消息...第25节--课程总结

    Spring3.X编程技术与应用,完整扫描版

     丁振凡编著的《Spring3.x编程技术与应用》按 循序渐进的原则对Spring3.x的主要知识及应用体系 进行了较为系统的介绍,回答了应用开发者 最为关心的一些话题,目的是帮助读者快速理解和运用相关知识。 《Spring3.x...

    使用WebSphereESB实现协议转换和数据转换

    本文内容包括:引言示例场景创建Serviceprovider创建WebSphereESBWAS配置ESB创建ServiceConsumer总结参考资料本文主要介绍如何通过WebSphereESB实现协议转换和数据转换功能:通过WebsphereESB实现SOAP/HTTP和JMS之间...

    Spring中文帮助文档

    2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持...

    Spring API

    2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5...

    Spring 2.0 开发参考手册

    2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack ...19.2. 使用Spring JMS ...

    Java面试宝典2010版

    4、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 65 5、说明生活中遇到的二叉树,用java实现二叉树 66 6、从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和...

Global site tag (gtag.js) - Google Analytics