Publish:
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
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;
public class Publish {
//1连接工厂
private ConnectionFactory connectionFactory;
//2连接对象
private Connection connection;
//3Session对象
private Session session;
//4生产者
private MessageProducer messageProducer;
public Publish(){
try {
this.connectionFactory =
new ActiveMQConnectionFactory(
"admin",
"1234",
"tcp://localhost:61616");
this.connection = connectionFactory.createConnection();
this.connection.start();
this.session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
this.messageProducer = session.createProducer(null);
} catch (JMSException e) {
e.printStackTrace();
}
}
public Session getSession(){
return this.session;
}
public static void main(String[] args) throws Exception {
Publish p = new Publish();
p.sender1();
}
public void sender1() throws Exception{
Destination destination = this.session.createTopic("topic1");
TextMessage textMessage = session.createTextMessage("我是内容");
messageProducer.send(destination,textMessage);
if(connection!=null){
connection.close();
}
}
}
Consumer1:
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Consumer1 {
public final String SELECTOR_0 = "age > 25";
public final String SELECTOR_1 = "color = 'blue'";
public final String SELECTOR_2 = "color = 'blue' and sal > 2000";
public final String SELECTOR_3 = "receiver = 'A'";
// 1.连接工厂
private ConnectionFactory connectionFactory;
// 2.连接对象
private Connection connection;
// Session对象
private Session session;
// 4.消费者
private MessageConsumer messageConsumer;
// 5.目标地址
private Destination destination;
//构造器中初始化四个对象
public Consumer1() {
this.connectionFactory = new ActiveMQConnectionFactory(
"admin",
"1234",
"tcp://localhost:61616"
);
try {
this.connection = this.connectionFactory.createConnection();
this.connection.start();
this.session = this.connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
this.destination = this.session.createTopic("topic1");
//消费者
this.messageConsumer = this.session.createConsumer(this.destination);
} catch (JMSException e) {
e.printStackTrace();
}
}
public void receiver() {
try {
this.messageConsumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
if(message instanceof TextMessage){
TextMessage m = (TextMessage) message;
try {
System.out.println("c1收到消息:--------------------");
System.out.println(m.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
} catch (JMSException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Consumer1 consumer = new Consumer1();
consumer.receiver();
}
}
Consumer2:
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Session;
import javax.jms.TextMessage;
import org.apache.activemq.ActiveMQConnectionFactory;
public class Consumer2 {
public final String SELECTOR_0 = "age > 25";
public final String SELECTOR_1 = "color = 'blue'";
public final String SELECTOR_2 = "color = 'blue' and sal > 2000";
public final String SELECTOR_3 = "receiver = 'A'";
// 1.连接工厂
private ConnectionFactory connectionFactory;
// 2.连接对象
private Connection connection;
// Session对象
private Session session;
// 4.消费者
private MessageConsumer messageConsumer;
// 5.目标地址
private Destination destination;
//构造器中初始化四个对象
public Consumer2() {
this.connectionFactory = new ActiveMQConnectionFactory(
"admin",
"1234",
"tcp://localhost:61616"
);
try {
this.connection = this.connectionFactory.createConnection();
this.connection.start();
this.session = this.connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
this.destination = this.session.createTopic("topic1");
//消费者
this.messageConsumer = this.session.createConsumer(this.destination);
} catch (JMSException e) {
e.printStackTrace();
}
}
public void receiver() {
try {
this.messageConsumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
if(message instanceof TextMessage){
TextMessage m = (TextMessage) message;
try {
System.out.println("c2收到消息:--------------------");
System.out.println(m.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
} catch (JMSException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Consumer2 consumer = new Consumer2();
consumer.receiver();
}
}