package com.example.demo.util;
import com.example.demo.pojo.Bms;
import com.example.demo.pojo.Staff;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.springframework.stereotype.Repository;
import javax.jms.*;
import java.util.HashMap;
import java.util.Map;
/**
* @ClassName activeMQUtil
* @Description ActiveMQ
* @Author CodeSheep
* @Date 2020/10/27 15:46
* @Version V1.0
* @Package com.example.demo.util
* 消费者连接 {@link consumer}
* 生产者连接 {@link producer}
*/
@Repository
public class ActiveMQUtil {
public Map<String, Object> mQUtil(Bms bms) throws Exception {
Map<String, Object> map = new HashMap<>();
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("my-queue");
MessageProducer producer = session.createProducer(destination);
for (int i = 0; i < 1; i++) {
TextMessage message = session.createTextMessage("message--" + bms);
Thread.sleep(1000);
//通过消息生产者发出消息
producer.send(message);
}
session.commit();
session.close();
connection.close();
map.put("ActiveMQ", "success");
return map;
}
}
package com.example.demo.util;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
/**
* @ClassName producer
* @Description ActiveMQ
* @Author CodeSheep
* @Date 2020/10/27 15:16
* @Version V1.0
* @Package com.example.demo.util
*/
public class producer {
public static void main(String[] args) throws Exception {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("my-queue");
MessageProducer producer = session.createProducer(destination);
for (int i = 0; i < 1; i++) {
TextMessage message = session.createTextMessage("于老板--" + i);
Thread.sleep(1000);
//通过消息生产者发出消息
producer.send(message);
}
session.commit();
session.close();
connection.close();
}
}
package com.example.demo.util;
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
/**
* @ClassName consumer
* @Description consumer
* @Author CodeSheep
* @Date 2020/10/27 15:37
* @Version V1.0
* @Package com.example.demo.util
*/
public class consumer {
public static void main(String[] args) throws JMSException {
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");
Connection connection = connectionFactory.createConnection();
connection.start();
final Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue("my-queue");
MessageConsumer consumer = session.createConsumer(destination);
Integer i = 0;
while (i < 1) {
i++;
TextMessage message = (TextMessage) consumer.receive();
session.commit();
System.out.println("收到消息:" + message.getText());
}
session.close();
connection.close();
}
}
原文:https://www.cnblogs.com/Twittery/p/14956210.html