前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.
按照上一讲的这个简图,
ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer
首先需要得到ConnectionFactoy和Destination,这里创建一个一对一的Queue作为Destination。
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Queue queue = new ActiveMQQueue("testQueue");
然后又ConnectionFactory创建一个Connection, 再启动这个Connection:
Connection connection = factory.createConnection();
connection.start();
接下来需要由Connection创建一个Session:
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
现在暂且不用管参数的含义, 以后会详细讲到.
下面就可以创建Message了,这里创建一个TextMessage。
Message message = session.createTextMessage("Hello JMS!");
要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者:
MessageProducer producer = session.createProducer(queue);
下面就可以发送刚才创建的消息了:
producer.send(message);
消息发送完成之后,我们需要创建一个消息消费者来接收这个消息:
MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();
消息消费者接收到这个消息之后,就可以得到它的内容:
System.out.println(((TextMessage)recvMessage).getText());
至此,一个简单的JMS例子就完成了。下面是全部源码 :
import javax.jms.Connection;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;
public class MessageSendAndReceive {
public static void main(String[] args) throws Exception {
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Connection connection = factory.createConnection();
connection.start();
Queue queue = new ActiveMQQueue("testQueue");
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Message message = session.createTextMessage("Hello JMS!");
MessageProducer producer = session.createProducer(queue);
producer.send(message);
System.out.println("Send Message Completed!");
MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();
System.out.println(((TextMessage)recvMessage).getText());
}
}
相关推荐
**JMS例子** 可能包括创建简单的生产者和消费者,以及更复杂的场景,如实现故障切换、负载均衡或者使用事务确保消息的一致性。例如,一个例子可能演示如何通过JMS API创建一个生产者,向队列发送一条消息,然后创建...
在一些实例中,我们可能会看到使用Plain Old Java Object(POJO)作为消息监听器的例子。这意味着消息监听器并不需要继承特定的Spring或JMS类,而是作为一个普通的Java对象被注册为消息监听器。这种方式提高了代码...
**JMS简介** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用集成的标准化API,它允许应用程序创建、发送、接收和读取消息。JMS提供了一种在分布式环境中可靠地传递信息的方式,使得不同...
【JBOSST建立JMS应用实例】 JBOSST(Java Business Open Source Solutions)是一个开源的企业级应用服务器,它提供了全面的中间件服务,包括对Java消息服务(JMS)的支持。JMS是一种标准,用于在分布式环境中传递...
**J2EE中的JMS消息服务** Java Message Service(JMS)是Java平台上的一个标准接口,用于在分布式环境中提供异步的消息传递服务。它允许应用程序创建、发送、接收和读取消息,使得应用程序可以解耦,提高系统的可...
本示例“java-jms小例子”旨在演示JMS的基本用法。JMS的核心概念包括消息生产者、消息消费者和消息队列/主题。在这个小例子中,我们将探讨如何创建这两者以及如何利用它们进行通信。 1. **消息生产者**:在JMS中,...
JMS的例子是学习和理解这一技术的关键,通过实际操作可以深入领会其工作原理和用法。 在“jmstest”这个压缩包中,我们可能找到一个简单的JMS应用实例。通常,这样的例子会包含生产者(Producer)、消费者...
这个"JMS开发例子.rar"压缩包文件很可能是包含了一个关于如何使用JMS进行开发的实例教程或代码示例。 在JMS中,有两个主要的角色:生产者(Producer)和消费者(Consumer)。生产者负责创建和发送消息,而消费者则...
JMS(Java Message Service)是Java平台中用于创建和管理消息传递系统的一种API,它允许应用程序之间进行异步通信。JMS提供了一种标准接口,使得应用开发者可以使用不同的消息中间件(Message Broker),如WebLogic ...
在这个"ActiveMQ JMS WEB 例子"中,我们将探讨如何在Web环境中使用ActiveMQ进行消息通信。 首先,了解ActiveMQ的基本概念是必要的。ActiveMQ支持多种协议,如OpenWire、AMQP、STOMP、XMPP和MQTT,使其能够广泛应用...
我自己用Eclipse写的JMS例子。完全是用来理解JMS的基础用法,没有太大的生产价值。 代码结构简单,只有三个java代码页,只演示基本功能。安装好jboss之后,不需要进行任何配置,在本机运行和编译代码。仅供学习...
标题中的“JMS分布式例子”指的是Java消息服务(Java Message Service)在分布式环境中的应用示例。JMS是Java平台中用于创建、发送、接收和读取消息的标准API,它提供了一种可靠的消息传递机制,使得不同的应用程序...
WebLogic Server是由Oracle公司提供的一个企业级Java应用服务器,它支持Java EE标准,包括Java消息服务(JMS:Java Message Service)。JMS是一种为应用程序提供创建、发送、接收和读取消息的标准API。在WebLogic中...
标题"jms+spring+activeMq的例子serd和recevice"提到了三个关键术语:JMS(Java Message Service)、Spring框架和ActiveMQ。这表明我们将探讨一个结合了这三个技术的示例,其中"serd"可能是"server"的误拼,而...
在本例子中,我们将关注如何使用OpenJMS这一开源JMS实现来搭建服务器并进行消息的发送和接收。首先,你需要从官方网站下载最新版本的OpenJMS,解压缩后在bin目录下运行startup.bat启动服务。这会开启一个新窗口,...
Java消息服务(JMS)是Java平台中用于企业级应用集成的一个标准API,它提供了一种在分布式系统中可靠地传递消息的方式。JMS允许应用程序创建、发送、接收和读取消息,以此来解耦生产者和消费者,使得两者不必同时...
Java消息服务(JMS,Java Message Service)是Java平台中用于企业级应用间异步通信的标准接口。它允许应用程序创建、发送、接收和读取消息,有效地支持分布式系统中的解耦和消息传递。OPENJMS是JMS的一个开源实现,...