文章来源 (IBM 中国)
介绍
这一节将分析点对点编程的重要 JMS 接口和它们的一些方法。
在下一节(点对点编程)中,我们将分析一些进行点对点消息处理的示例代码。
记住:将点对点和 pub/sub 接口添加到 JMS 版本 1.1 中只是为了获得向后兼容。如果是进行新的开发,应该使用前两节中讨论的公用接口(JMS 1.1 中的新内容:公用接口 和 用公用接口进行客户机编程)。
QueueConnectionFactory
QueueConnectionFactory 是从 JNDI 中检索的受管理对象,它创建了到提供者的连接。它包含 createQueueConnection() 方法,该方法返回一个 QueueConnection 对象。
QueueConnection
QueueConnection 封装了链接到提供者的活动连接。它的一些方法包括:
createQueueSession(boolean, int):返回一个QueueSession对象。boolean参数指出QueueSession是否被处理,int指出确认模式(请参阅 确认)。start()(从Connection继承):激活提供者发送消息。stop()(从Connection继承):临时停止发送消息,可以用start()重新开始发送。close()(从Connection继承):关闭到提供者的链接,并释放它占有的所有资源
QueueSession
QueueSession 是发送和接收 PTP 消息的单线程上下文。它的一些方法包括:
createSender(Queue):返回QueueSender来向指定的Queue发送消息。createReceiver(Queue):返回QueueReceiver对象来接收来自指定的Queue的消息。createBrowser(Queue)(从Session继承):返回一个QueueBrowser对象来浏览指定Queue上的消息。commit()(从Session继承):提交当前事务中所有已经使用或者产生的消息。rollback()(从Session继承):回滚当前事务中所有已使用或者已产生的消息。create<MessageType>Message(...)(从Session继承):返回<MessageType>Message的各种方法——例如MapMessage、TextMessage等。
Queue
Queue 封装了点对点目的地。它是一个从 JNDI 中检索的受管理对象。
QueueSender
QueueSender 被用来发送点对点消息。它的一些方法包括:
send(Message):发送指示的Message。setDeliveryMode(int)(从MessageProducer继承):设置后续消息发送的发送模式,有效值为DeliveryMode.PERSISTENT和DeliveryMode.NON_PERSISTENT。setPriority(int)(从MessageProducer继承):设置后续消息发送的优先级,有效值为 0 到 9。setTimeToLive(long)(从MessageProducer继承):设置后面发送的消息失效前的持续时间,以毫秒为单位。
QueueReceiver
QueueReceiver 被用来接收点对点消息。它的一些方法包括:
receive()(从MessageConsumer继承):返回到达的下一个消息,这个方法会阻塞,直到下一个消息可用为止。receive(long)(从MessageConsumer继承):接收在long毫秒内到达的下一个消息,如果在时间期限内没有消息到达,则返回null。receiveNoWait(从MessageConsumer继承):如果当前有一条消息,则接收下一条消息,如果没有消息,则返回null。setMessageListener(MessageListener)(从MessageConsumer继承):设置MessageListener,MessageListener对象在消息到达时接收它们,即异步方式接收消息(请参阅 MessageListener )。
QueueBrowser
用 QueueReceiver 接收消息时,在接收消息后从队列中删除她们。用 QueueBrowser 可以查看队列中的消息而不删除它们。完成这项操作的方法是 getEnumeration(),它返回一个可以用来扫描队列中消息的java.util.Enumeration,队列的变化(消息到达或失败)可能是可见的,也可能是不可见的。
本文详细介绍了Java消息服务(JMS)中点对点(PTP)编程的关键接口及其实现方法,包括QueueConnectionFactory、QueueConnection、QueueSession、Queue、QueueSender、QueueReceiver和QueueBrowser等接口的功能和使用方式。
216

被折叠的 条评论
为什么被折叠?



