前提:
先创建一个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) {
}
}
}
}
}
ActiveMQ 初识
猜你喜欢
转载自spacecity.iteye.com/blog/2048381
今日推荐
周排行