`
SpaceCity
  • 浏览: 97819 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ActiveMQ 初识

阅读更多
前提:
先创建一个queue, ,名称为start(这个名称与压缩包中的队列名称相同×)


Sender:
package com.service;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.junit.Test;

import com.config.ConfigManager;

public class Sender {

private ConnectionFactory connectionFactory;
private Connection connection;

public Sender() {
connectionFactory = new ActiveMQConnectionFactory(
ConfigManager.getUserName(), ConfigManager.getUserPassword(),
ConfigManager.getConnectionFactory());

}
@Test
public void send() {
try {

connection = connectionFactory.createConnection();
connection.start();

Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
Destination queue = session.createQueue(ConfigManager.getQueueName());

MessageProducer producer = session.createProducer(queue);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);

for (int i = 0; i < 10; i++) {
TextMessage textMessage = session.createTextMessage("java start " + i);
producer.send(textMessage);
}

session.commit();
session.close();

} catch (JMSException e) {
e.printStackTrace();
} finally {
try {
if (null != connection) {
connection.close();
}
} catch (JMSException e) {
}
}
}

}

Receiver:
package com.service;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MessageConsumer;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.junit.Test;

import com.config.ConfigManager;

public class Receiver {

private ConnectionFactory connectionFactory;
private Connection connection;

public Receiver() {
connectionFactory = new ActiveMQConnectionFactory(
ConfigManager.getUserName(), ConfigManager.getUserPassword(),
ConfigManager.getConnectionFactory());

}

@Test
public void read() {
try {
connection = connectionFactory.createConnection();
connection.start();

Session session = connection.createSession(true,
Session.AUTO_ACKNOWLEDGE);
Destination queue = session.createQueue(ConfigManager
.getQueueName());

MessageConsumer consumer = session.createConsumer(queue);

while (true) {
TextMessage message = (TextMessage) consumer.receive(1000);
if (null != message) {
System.out.println(message.getText());
} else {
break;
}
}

session.commit();

connection.stop();
} catch (JMSException e) {
e.printStackTrace();
} finally {
if (null != connection) {
try {
connection.close();
} catch (JMSException e) {
}
}
}
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics