介绍
在这一节中,我们将介绍 JMS 客户机编程的每一个重要 JMS 公用接口和它们的一些方法。一定要记住,尽管公用接口是独立于域的,但是客户机代码的行为与运行时处于操作状态的域的特定于域的行为是相匹配的。
在下一节(用公用接口进行客户机编程),我们将分析几个进行 JMS 消息处理的示例代码。
ConnectionFactory
ConnectionFactory
是一个可以从JNDI检索的受管理对象,它建立了到提供者的连接。它包含 createConnection()
方法,该方法返回了一个 Connection
对象。
Connection
Connection
封装了一个连接到提供者的活动连接。它的一些方法包括: Session
createSession(boolean, int)
:返回一个 Session
对象。boolean
参数指出 Session
是否被处理, int
则指出确认模式(请参阅 确认)。
start()
:激活提供者发送消息。
stop()
:临时停止消息的发送,可以用 start()
重新开始发送。
close()
:关闭到提供者的连接,并释放以它的名义占用的所有资源。
Session
是用来发送和接收消息的单线程的上下文。它的一些方法包括:
createProducer(Destination)
:返回一个 MessageProducer
对象,向指定的 Destination
发送消息。
createConsumer(Destination)
:返回一个 MessageConsumer
对象来接收来自指定 Destination
的消息。
commit()
:提交当前事务的所有使用的或者产生的消息。
rollback()
:回滚当前事务所有使用的或者产生的消息。
create<messagetype></messagetype>Message(...)
:一组返回 <messagetype></messagetype>Message
的方法——例如,MapMessage
、TextMessage
等。
Destination
Destination
封装消息的目的地。它是一个从 JNDI 检索的受管理对象。
MessageProducer
MessageProducer
用于发送消息。它的一些方法包括:
send(Message)
:发送指示的 Message
。
setDeliveryMode(int)
:设置后续消息的发送模式,有效值为 DeliveryMode.PERSISTENT
和 DeliveryMode.NON_PERSISTENT
。
setPriority(int)
:设置后续发送消息的优先级,有效值为 0 到 9。
setTimeToLive(long)
:设置后续发送消息失效前的持续时间,以毫秒计。
MessageConsumer
MessageConsumer
被用来接收消息。它的一些方法包括:
receive()
:返回下一发到达的消息,该方法在消息可用之前会受到阻塞。
receive(long)
:接收在 long
毫秒内到达的下一个消息,如果在时间限制内没有消息到达,则该方法返回 null
。
receiveNoWait
:如果有一个消息立即可用,则接收下一个消息,如果没有消息可用,则该方法返回 null
。
setMessageListener(MessageListener)
:设置 MessageListener
,MessageListener
对象在消息到达时接收它们,也就是异步接收(请参阅 MessageListener )。
MessageListener
MessageListener
是有一个单一方法——onMessage(Message)
——的接口,它提供了消息的异步接收和处理。
应该通过客户机类和该类使用 setMessageListener(MessageListener)
方法传递给 MessageConsumer
对象的实例来实现这个接口。在消息到达目的地时,用 onMessage(Message)
将它传递给对象。
分享到:
相关推荐
JMS1.1规范是该API的一个版本,提供了标准接口,使得不同的消息中间件(Message Oriented Middleware,MOM)提供商能够实现互操作性,确保应用程序可以在不同平台之间无缝地发送和接收消息。 JMS1.1规范的核心概念...
总结,`javax.jms-1.1.jar`是Java消息服务API的实现,它提供了在分布式系统中进行可靠、异步通信的能力,通过标准化接口和消息模型,使得开发者可以轻松地在不同消息中间件之间切换,提升了系统的灵活性和可扩展性。
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。JMS 1.1是其一个重要的版本,它为分布式系统中的应用程序提供了一种可靠的消息传递机制,使得应用程序可以在...
在这个压缩包"jms1.1.jar.zip"中,包含的核心文件是"javaMessageServer",这通常是指一个实现了JMS规范的服务端组件。 一、JMS 1.1基础知识 1. JMS模型:JMS定义了两种基本的消息模式——点对点(Point-to-Point,...
JMS1.1规范中还包括了事务管理,允许将消息发送和接收操作放入本地或全局事务中,以保证数据的一致性。此外,持久化机制确保即使在系统故障后,未被处理的消息也能被恢复,从而增强了系统的健壮性。 在实际应用中,...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它提供了一种可靠的消息传递机制,允许应用程序创建、发送、接收和读取消息。`jms-1.1.jar` 是一个包含了JMS 1.1...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。JMS 1.1 API是这个规范的一个版本,提供了在分布式环境中发送和接收消息的机制,它是Java应用程序与其他系统进行...
Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。JMS 1.1是该规范的一个版本,它为开发人员提供了发送和接收消息的能力,这些消息可以在分布式环境中可靠地传递。...
赠送jar包:geronimo-jms_1.1_spec-1.1.1.jar; 赠送原API文档:geronimo-jms_1.1_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-jms_1.1_spec-1.1.1-sources.jar; 包含翻译后的API文档:geronimo-jms_1.1_...
在JMS 1.1中,`jms-1.1`可能包含了这些接口的定义,如`javax.jms.Queue`, `javax.jms.Topic`, `javax.jms.MessageProducer`, `javax.jms.MessageConsumer`, `javax.jms.Session`等。通过这些接口,开发者可以构建...
内含javax.jms-1.1.jar 安装包下载以及Maven手动安装命令 Maven官方仓库下载不下来资源,只能手动安装 <!-- https://mvnrepository.com/artifact/javax.jms/jms --> <groupId>javax.jms <artifactId>jms ...
5. **JMS1.1规范**是Java消息服务的版本,定义了应用程序如何创建、发送、接收和读取消息。JMS提供了异步通信的能力,允许应用程序在不阻塞的情况下交换数据,是企业级系统中实现解耦和可靠消息传递的重要工具。 6....
学习JMS1.1规范有助于开发者理解如何在分布式环境中实现可靠的、解耦的通信。这对于构建可扩展的、高可用性的系统至关重要,尤其是在大型企业应用和微服务架构中。通过深入理解JMS,开发者可以有效地利用消息中间件...
- **摘要**:JMS 1.1规范旨在为Java应用提供一种统一的消息传递接口,使开发者能够轻松地将应用部署到不同的消息传递系统上,同时确保应用的移植性和兼容性。 - **概述**: - **不是Mail API**:虽然JMS和邮件...
Java Message Service(JMS)是Java平台上的一个标准接口,用于在分布式系统中进行消息传递。JMS 1.1是这个规范的一个重要版本,它为应用程序提供了可靠的异步通信能力,是企业级应用集成中的关键组件。在这个压缩包...
作者:卫建军 Java 是当前 IT 领域中比较流行的技术之一。J2EE 是当前比较流行的企业级应用架构。 本人一直致力于 J2EE 架构的学习和研究,但是总是对英文文档...持久化规范》和《JMS1.1 规范》。希望对大家有所帮助。
赠送jar包:geronimo-jms_1.1_spec-1.1.1.jar; 赠送原API文档:geronimo-jms_1.1_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-jms_1.1_spec-1.1.1-sources.jar; 包含翻译后的API文档:geronimo-jms_1.1_...
Java Message Service (JMS) 是 Java 平台中用于在分布式环境中交换异步消息的标准接口。JMS 1.1 是其一个重要版本,它提供了应用程序间的可靠通信,使得消息的生产者和消费者可以在不同的时间进行交互,即使它们...