您的位置:首页 > 其它

JMS教程(二)

2016-01-11 11:51 302 查看
下面我们来写一个Hello World程序,让大家对activeMQ及JMS有一个初步的了解.

1. 首先请下载activeMQ. 官网: http://activemq.apache.org/
我下载的是最新的 apache-activemq-5.13.0, 解压后放在了C:\下.

2. 开启activemq. 找到安装目录/bin/win32/activemq.bat, 运行这个文件即可.

请注意你的操作系统版本. 我的是 windows XP 32位,所以运行的是 win32目录下的activemq.bat文件.

3. 下面开始编写程序.

a. ) 程序中引入包:

activemq-all-5.13.jar

commons-collection-3.2.2.jar

commons-pool2-2.4.2.jar

b) 书写程序

//建立与消息服务器的连接
ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();

//Queue是 jms接口  ->           ActiveMQQueue
//创建一个队列
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("消息已经发送到服务器");

//创建一个消费者
MessageConsumer comsumer = session.createConsumer(queue);
//消费者接收消息
Message recvMessage = comsumer.receive();
System.out.println(((TextMessage)recvMessage).getText());


分析:

1. ConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");

activemq的默认端口是 61616, 通过这一句代码,创建一个联接工厂.

2. Queue queue = new ActiveMQQueue("testQueue");

创建了一个队列,也就是一个Destination目标,也表明activemq提供的是一个 P2P的服务模型.

叁数值 "testQueue"表明在activemq中存了一个名字叫 "testQueue"的队列,后面消费者也要从这个队列中取消息.

3. Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

创建了一个会话,第一个参数值false表示不支持事务模式. 第二个参数表明消费者联接后自动确认.

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: