术语
---------------------------------------------------------------
JMS Provider:实现JMS 接口的消息中间件;
JMS Provider:实现JMS 接口的消息中间件;
PTP:Point to Point,即点对点的消息模型;
Pub/Sub:Publish/Subscribe,即发布/订阅的消息模型;
Queue:队列目标;
Topic:主题目标;
ConnectionFactory:连接工厂,JMS 用它创建连接;
Connection:JMS 客户端到JMS Provider 的连接;
Destination:消息的目的地;
Session:会话,一个发送或接收消息的线程;
MessageProducer:由Session 对象创建的用来发送消息的对象;
MessageConsumer:由Session 对象创建的用来接收消息的对象;
Acknowledge:签收;
JMSDestination
消息发送的目的地
JMSDeliveryMode
传送模式, 有两种模式: PERSISTENT 和NON_PERSISTENT,PERSISTENT 表示该消息一定要被送到目的地,否则会导致应用错误。NON_PERSISTENT 表示偶然丢失该消息是被允许的,这两种模式使开发者可以在消息传送的可靠性和吞吐量之间找到平衡点。
JMSExpiration
消息过期时间,等于Destination 的send 方法中的timeToLive 值加上发送时刻的GMT 时间值。如果timeToLive值等于零,则JMSExpiration 被设为零,表示该消息永不过期。如果发送后,在消息过期时间之后消息还没有被发送到目的地,则该消息被清除。
JMSPriority
消息优先级,从0-9 十个级别,0-4 是普通消息,5-9 是加急消息。JMS 不要求JMS Provider 严格按照这十个优先级发送消息,但必须保证加急消息要先于普通消息到达。
JMSMessageID
唯一识别每个消息的标识,由JMS Provider 产生。
JMSTimestamp
一个消息被提交给JMS Provider 到消息被发出的时间。
JMSCorrelationID
用来连接到另外一个消息,典型的应用是在回复消息中连接到原消息。
JMSReplyTo
提供本消息回复消息的目的地址
JMSType
消息类型的识别符。
JMSRedelivered
如果一个客户端收到一个设置了JMSRedelivered 属性的消息,则表示可能客户端曾经在早些时候收到过该消息,但并没有签收(acknowledged)。
消息发送的目的地
JMSDeliveryMode
传送模式, 有两种模式: PERSISTENT 和NON_PERSISTENT,PERSISTENT 表示该消息一定要被送到目的地,否则会导致应用错误。NON_PERSISTENT 表示偶然丢失该消息是被允许的,这两种模式使开发者可以在消息传送的可靠性和吞吐量之间找到平衡点。
JMSExpiration
消息过期时间,等于Destination 的send 方法中的timeToLive 值加上发送时刻的GMT 时间值。如果timeToLive值等于零,则JMSExpiration 被设为零,表示该消息永不过期。如果发送后,在消息过期时间之后消息还没有被发送到目的地,则该消息被清除。
JMSPriority
消息优先级,从0-9 十个级别,0-4 是普通消息,5-9 是加急消息。JMS 不要求JMS Provider 严格按照这十个优先级发送消息,但必须保证加急消息要先于普通消息到达。
JMSMessageID
唯一识别每个消息的标识,由JMS Provider 产生。
JMSTimestamp
一个消息被提交给JMS Provider 到消息被发出的时间。
JMSCorrelationID
用来连接到另外一个消息,典型的应用是在回复消息中连接到原消息。
JMSReplyTo
提供本消息回复消息的目的地址
JMSType
消息类型的识别符。
JMSRedelivered
如果一个客户端收到一个设置了JMSRedelivered 属性的消息,则表示可能客户端曾经在早些时候收到过该消息,但并没有签收(acknowledged)。
------------------------------------------------------------------------
JMS 支持两种截然不同的消息传送模型:PTP(即点对点模型)和Pub/Sub(即发布/订阅模型),分别称作:PTP Domain 和Pub/Sub Domain。
PTP(使用Queue即队列目标) 消息从一个生产者传送至一个消费者。在此传送模型中,目标是一个队列。消息首先被传送至队列目标,然后根据队列传送策略,从该队列将消息传送至向此队列进行注册的某一个消费者,一次只传送一条消息。可以向队列目标发送消息的生产者的数量没有限制,但每条消息只能发送至、并由一个消费者成功使用。如果没有已经向队列目标注册的消费者,队列将保留它收到的消息,并在某个消费者向该队列进行注册时将消息传送给该消费者。
Pub/Sub(使用Topic即主题目标) 消息从一个生产者传送至任意数量的消费者。在此传送模型中,目标是一个主题。消息首先被传送至主题目标,然后传送至所有已订阅此主题的活动消费者。可以向主题目标发送消息的生产者的数量没有限制,并且每个消息可以发送至任意数量的订阅消费者。主题目标也支持持久订阅的概念。持久订阅表示消费者已向主题目标进行注册,但在消息传送时此消费者可以处于非活动状态。当此消费者再次处于活动状态时,它将接收此信息。如果没有已经向主题目标注册的消费者,主题不保留其接收到的消息,除非有非活动消费者注册了持久订阅
相关推荐
理由很简单,消息是一个分布式的低耦合通讯方案。A发送一个消息到一个agent ,B作为接受者去agent上获取消息。但是A,B不需要同时到agent上去注册。agent作为一个中转为A,B提供搞效率的通讯服务。
java消息服务学习必备,JMS基础知识了解
讲解了JMS的基本知识,很有学习的价值,希望能给大家带来一些帮助!
NULL 博文链接:https://seaizon.iteye.com/blog/801927
是关于JMS方面的知识,非常容易看懂的东东,感觉不错哦!
本视频包含JMS相关知识,activeMQ入门,集群等,觉得视频可以的小伙伴给个赞,谢谢了
从applet代码开发和weblogic9-jms配置的整个过程,以及相关的知识点和注意点
JMS相关知识课堂Demo rmi RMI相关知识课堂Demo 本工程的所有代码都在src/main下;本工程的文件中: 源代码: src/main/java 资源文件: src/main/resources Maven依赖管理配置: pom.xml 2. Java-EE(Servlet)模块...
本文内容包括:SpringJMSIBMWebSphereMQSpringJMS模板SpringJMS实现队列管理器的设置运行示例下载参考资料快速了解使用SpringJMS框架和IBMWebSphereMQ5.3进行JMS消息处理的基础知识。在Spring系列的第4期也是最后一...
本文来自于csdn,文章主要介绍了JMS作用,模型,基本构件,消息发送时序图等基础知识和ActiveMQ模型分析知识。JavaMessageService(JMS)是SUN提出的旨在统一各种MOM(Message-OrientedMiddleware)系统接口的规范,...
NULL 博文链接:https://zhaoshijie.iteye.com/blog/2090954
本书全面介绍了WebLogic在J2EE应用程序的各个方面所完成的任务:从使用servlet、JSP和EJB,到管理分布式系统,包括利用JTA的事务处理、利用JNDI的目录服务、利用JMS的消息系统,等等。本书作者还特别注意WebLogic中...
J2EE简介及学习方法 J2EE基础技术 XML、RMI、JNDI 、JMS
spring常用知识点Spring RestTemplateSpring 3 + Quartz 1.8.6 定时器 任务调度教程:线程池cn/injava/spring/core/feature/concurrent
native,transient,volatile,strictfp,CMM,synchronized,java socket,压缩与解压缩,多线程,垃圾回收算法,JVM ClassLoader,IO流,反射机制,JNDI, GUI布局管理器,JMS, Java Mail, JNDI reference,java事件处理...
JMS消息服务器知识,自己总结的,希望对大家有帮助.!!!
整理了ActiveMQ消息队列的相关内容,主要包括MQ的安装与配置、构建过程、JMS规范和落地产品、MQ的传输协议、消息存储和持久化以及多借点集群的搭建等内容
针对JMS规范和消息中间件的特点,提出面向JMS消息中间件的安全协议MSTP(包括消息传输协议、认证协议、审计协议、分布式信任协议),为解决消息中间件的安全问题提供了一个可选的方案。在具有自主知识产权的JTang...