JMS公用接口

在这一节中,我们将介绍 JMS 客户机编程的每一个重要 JMS 公用接口和它们的一些方法。一定要记住,尽管公用接口是独立于域的,但是客户机代码的行为与运行时处于操作状态的域的特定于域的行为是相匹配的。

在下一节[url]http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-5-1.html[/url](用公用接口进行客户机编程),我们将分析几个进行 JMS 消息处理的示例代码。

ConnectionFactory
ConnectionFactory 是一个可以从JNDI检索的受管理对象,它建立了到提供者的连接。它包含 createConnection() 方法,该方法返回了一个 Connection 对象。
Connection

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

createSession(boolean, int):返回一个 Session 对象。boolean 参数指出 Session 是否被处理, int 则指出确认模式(请参阅 确认)。
[url]http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-3-12.html[/url]

start():激活提供者发送消息。


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


close():关闭到提供者的连接,并释放以它的名义占用的所有资源。
Session 第 4 页(共8 页)


Session 是用来发送和接收消息的单线程的上下文。它的一些方法包括:

createProducer(Destination):返回一个 MessageProducer 对象,向指定的 Destination 发送消息。


createConsumer(Destination):返回一个 MessageConsumer 对象来接收来自指定 Destination 的消息。


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


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


create<MessageType>Message(...):一组返回 <MessageType>Message 的方法——例如,MapMessage、TextMessage 等。

Destination 第 5 页(共8 页)


Destination 封装消息的目的地。它是一个从 JNDI 检索的受管理对象。

MessageProducer 第 6 页(共8 页)


MessageProducer 用于发送消息。它的一些方法包括:

send(Message):发送指示的 Message。


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


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


setTimeToLive(long):设置后续发送消息失效前的持续时间,以毫秒计。


MessageProducer 第 6 页(共8 页)


MessageProducer 用于发送消息。它的一些方法包括:

send(Message):发送指示的 Message。


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


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


setTimeToLive(long):设置后续发送消息失效前的持续时间,以毫秒计。


MessageConsumer 第 7 页(共8 页)


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

receive():返回下一发到达的消息,该方法在消息可用之前会受到阻塞。


receive(long):接收在 long 毫秒内到达的下一个消息,如果在时间限制内没有消息到达,则该方法返回 null。


receiveNoWait:如果有一个消息立即可用,则接收下一个消息,如果没有消息可用,则该方法返回 null。


setMessageListener(MessageListener):设置 MessageListener,MessageListener 对象在消息到达时接收它们,也就是异步接收(请参阅 MessageListener )。
[url]http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-4-8.html[/url]
MessageListener 第 8 页(共8 页)


MessageListener 是有一个单一方法——onMessage(Message)——的接口,它提供了消息的异步接收和处理。

应该通过客户机类和该类使用 setMessageListener(MessageListener) 方法传递给 MessageConsumer 对象的实例来实现这个接口。在消息到达目的地时,用 onMessage(Message) 将它传递给对象。
[url]http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-4-8.html[/url]

[url]http://www6.software.ibm.com/developerworks/cn/education/java/j-jms/tutorial/j-jms-5-1.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值