`

JMS--Pub/Sub接口

    博客分类:
  • java
阅读更多
介绍 第 1 页(共7 页)

现在让我们来查看 Pub/sub 接口。在我们浏览这些接口的时候,应该注意到它们与 PTP 接口非常相像,只有名称和其他少数几处不同的地方。

记住:在JMS 版本 1.1 中添加点对点和 Pub/sub 接口只是为获得向后兼容。如果进行新的开发,应该使用 JMS 1.1 中的新内容:公用接口 和 用公用接口进行客户机编程 各小节中讨论的公用接口。

TopicConnectionFactory  第 2 页(共7 页)

TopicConnectionFactory是从 JNDI 中检索的受管理对象,它创建了到提供者的链接。它包含 createTopicConnection() 方法,该方法返回了一个 TopicConnection 对象。

TopicConnection  第 3 页(共7 页)

TopicConnection 封装了到提供者的一个活动连接。它的一些方法包括:

createTopicSession(boolean, int):返回 TopicSession 对象。boolean 参数指出 TopicSession 是否被处理,int 指出确认模式(请参阅 确认)。


start() (从 Connection 继承):激活提供者发送的消息。


stop() (从 Connection 继承):临时停止发送消息,可以用 start() 重新开始发送。


close() (从 Connection 继承):关闭到提供者的连接,并释放它所占有的所有资源。

TopicSession  第 4 页(共7 页)




TopicSession是发送和接收 pub/sub 消息的单线程上下文。它的一些方法包括:

createPublisher(Topic):返回 TopicPublisher 对象来向指定的 Topic 发送消息。


createSubscriber(Topic):返回 TopicSubscriber 对象来接收指定 Topic 中的消息。这个订阅者是 非持久的,也就是说,订阅只持续到对象的生存周期,只在它对象处于活动状态时才接收消息。


createDurableSubscriber(Topic, String):返回 TopicSubscriber 对象来接收指定 Topic 中的消息,String 给出订阅者的名字。如果对象没有处于活动状态,则通过 JMS 保留 持久的 订阅者的消息,并将它发送给以后用相同名称创建的订阅者对象。


unsubscribe(String):结束名为 String 的订阅者的订阅。


commit() (从 Session 继承):提交当前事务的所有已使用或者已产生的消息。


rollback() (从 Session 继承):回滚当前事务的所有已使用或者已产生的消息。


create<MessageType>Message(...) (从 Session 继承):各种返回 <MessageType>Message 的方法,如 MapMessage、TextMessage 等。

Topic  第 5 页(共7 页)

Topic 封装了一个 pub/sub 目的地。它是从 JNDI 中检索的受管理对象。

TopicPublisher  第 6 页(共7 页)

TopicPublisher 被用来发送 pub/sub 消息。它的一些方法包括:

publish(Message):发布指示的 Message。


setDeliveryMode(int) (从 MessageProducer 继承):设置后续消息发送的发送模式,有效值为 DeliveryMode.PERSISTENT 和 DeliveryMode.NON_PERSISTENT。


setPriority(int) (从 MessageProducer 继承):设置后续消息发送的优先级,有效值为 0 到 9。


setTimeToLive(long) (从 MessageProducer 继承):设置后续发送消息失效前的持续时间,以毫秒为单位。

TopicSubscriber  第 7 页(共7 页)




TopicSubscriber 被用来接收点对点消息。它的一些方法包括:

receive() (从 MessageConsumer 继承):返回到达的下一个消息,这个方法会阻塞,直到一个消息可用为止。


receive(long) (从 MessageConsumer 继承):接收在 long 毫秒内到达的下一个消息,如果在时间期限内没有消息到达,则返回 null 。


receiveNoWait (从 MessageConsumer 继承):返回立即可用的下一个消息,如果没有消息可用,则返回 null。


setMessageListener(MessageListener) (inherited from MessageConsumer):设置 MessageListener,MessageListener 在消息到达时接收消息,即异步接收消息(请参阅 MessageListener )。
http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-4-8.html
分享到:
评论

相关推荐

    ActiveMQ的处理模式:PTP与PUB/SUB

    在ActiveMQ中,有两种主要的消息处理模式:点对点(Point-to-Point,简称PTP)和发布/订阅(Publish/Subscribe,简称PUB/SUB)。本文将深入探讨这两种模式及其在SpringBoot应用中的实现。 首先,点对点(PTP)模式...

    javax.jms-1.1.jar

    2. **消息模型**:JMS支持两种消息模型——点对点(Point-to-Point, PTP)和发布/订阅(Publish/Subscribe, Pub/Sub)。在点对点模型中,消息从一个队列(Queue)中发送到另一个队列,每个消息仅被一个消费者接收。...

    jms-1_1-fr-apidocs.zip

    1. **消息模型**:JMS支持两种消息模型——点对点(Point-to-Point,PTP)和发布/订阅(Publish/Subscribe,Pub/Sub)。在点对点模型中,消息由一个生产者发送到一个队列,然后由一个消费者接收;而在发布/订阅模型...

    JMS--J2EE培训材料

    JMS提供了两个主要的消息域:点对点(PTP)和发布/订阅(Pub/Sub)。 1. **点对点(PTP)**:在此模式下,消息发送给特定的目标队列,每个消息会被一个消费者接收并消费。一旦消息被消费,就从队列中移除。 - **队列...

    jms-test.zip

    在JMS中,有两种主要的消息模式:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)模式。这两种模式各有特点,适用于不同的场景。 1. 点对点(Point-to-Point,P2P)模式: 在P2P模式下,...

    javax.jms包,sun的JMS接口规范包

    2. **消息模型**:JMS支持两种消息传递模型:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。在P2P模型中,每个消息仅由一个消费者接收,通常通过队列实现;在Pub/Sub模型中,消息可以被...

    spring-jms-4.2.xsd.zip

    Spring JMS支持各种特性,如点对点(P2P)和发布/订阅(Pub/Sub)消息模型,事务管理,以及通过JCA(Java Connector Architecture)适配器集成企业信息系统的功能。 在Spring应用中,开发者通常会在XML配置文件中...

    深入浅出JMS-JMS介绍说明文档

    JMS定义了两种基本的消息传递模型:点对点(Point-to-Point, P2P)和发布/订阅(Publish/Subscribe, Pub/Sub)。 ##### 1. 点对点(P2P) - **消息队列(Queue)**:消息队列是P2P模型的核心组件,每个消息都发送...

    JAVA消息服务JMS规范及原理详解.docx

    JMS提供者是连接到MOM的接口实现,而JMS客户则是在Java环境中创建消息的程序或对象。 点对点(P2P)模式的特点: - 每个消息仅被一个消费者消费。 - 提供者和消费者之间无时间依赖性,消息会被保留在队列中直到被...

    jms-1.1+jmxri-1.2.1+jmxtools-1.2.1.zip

    在JMS-1.1规范中,主要有两种类型的消息模型:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。点对点模型通过队列(Queue)实现,每个消息只有一个消费者;而发布/订阅模型通过主题...

    jms-study.zip_jms_server jms

    JMS还定义了两种消息模型:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。 1. **点对点模型**:在P2P模型中,消息被发送到一个称为队列(Queue)的特定目的地。每个消息只有一个消费者...

    JMS sub/pub实现聊天系统

    在"JMS sub/pub实现聊天系统"中,我们主要探讨的是如何利用JMS的发布/订阅(Publish/Subscribe)模型来构建一个聊天系统。 在JMS中,有两种消息传递模型:点对点(Point-to-Point)和发布/订阅(Publish/Subscribe...

    jms-ejb3 source code

    JMS支持两种消息模式:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。 EJB3是EJB规范的一个版本,简化了企业级开发,引入了注解驱动和POJO(Plain Old Java Object)概念,降低了开发...

    spring-jms

    它提供了同步和异步发送消息的方法,支持点对点(P2P)和发布/订阅(Pub/Sub)模型。 2. **MessageListener容器**: Spring提供了两种类型的容器——SimpleMessageListenerContainer和...

    javax.jms_1.1.0.jar.zip

    JMS提供两种消息传递模式:点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。 【文件内容详解】: 1. **JMS API**:`javax.jms_1.1.0.jar`包含JMS API的所有接口和类,如`Message`、`...

    jboss-jms包

    - **消息模型**:JMS支持两种消息模型,点对点(Point-to-Point,P2P)和发布/订阅(Publish/Subscribe,Pub/Sub)。 - P2P模型中,消息从一个生产者发送到一个队列,然后由一个或多个消费者消费。消息一旦被消费...

    JMS简介 Java Message Service

    JMS提供了一组标准接口,如`MessageProducer`用于发送消息,`MessageConsumer`用于接收消息,以及`Queue`和`Topic`接口,分别对应点对点(Point-to-Point, PTP)和发布/订阅(Publish/Subscribe, Pub/Sub)两种消息...

    JMS-ActiveMQ入门实例

    1. **消息模型**:JMS支持两种消息模型——点对点(Point-to-Point,PTP)和发布/订阅(Publish/Subscribe,Pub/Sub)。点对点模型中,消息被发送到一个队列,每个消息只能被一个消费者接收;而在发布/订阅模型中,...

Global site tag (gtag.js) - Google Analytics