如何安裝ActiveMQ:文章鏈接
依賴包,最好跟你安裝的ActiveMQ版本相同
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.15.10</version>
</dependency>
ActiveMQ生產者代碼
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JMSProducer {
private final static String DEFAULT_BROKER_HOST = "tcp://192.168.253.132:61616";
private final static String USER_NAME = "admin";
private final static String PASSWORD = "admin";
private final static String QUEUE_NAME = "queue_one";
public static void main(String[] args) throws JMSException {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(USER_NAME, PASSWORD, DEFAULT_BROKER_HOST);
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue(QUEUE_NAME);
MessageProducer producer = session.createProducer(queue);
for (int i = 0; i < 5; i++) {
TextMessage textMessage = session.createTextMessage("Hello ActiveMQ" + i);
producer.send(textMessage);
}
producer.close();
session.close();
connection.close();
}
}
ActiveMQ消費者代碼
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JMSConsumer {
private final static String DEFAULT_BROKER_HOST = "tcp://192.168.253.132:61616";
private final static String USER_NAME = "admin";
private final static String PASSWORD = "admin";
private final static String QUEUE_NAME = "queue_one";
public static void main(String[] args) throws JMSException {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(USER_NAME, PASSWORD, DEFAULT_BROKER_HOST);
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue(QUEUE_NAME);
MessageConsumer consumer = session.createConsumer(queue);
while (true) {
TextMessage receive = (TextMessage) consumer.receive();
System.out.println("receive.getText() --> " + receive.getText());
}
}
}
ActiveMQ消費者代碼(監聽方式)
import org.apache.activemq.ActiveMQConnectionFactory;
import javax.jms.*;
public class JMSConsumer {
private final static String DEFAULT_BROKER_HOST = "tcp://192.168.253.132:61616";
private final static String USER_NAME = "admin";
private final static String PASSWORD = "admin";
private final static String QUEUE_NAME = "queue_one";
public static void main(String[] args) throws JMSException {
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(USER_NAME, PASSWORD, DEFAULT_BROKER_HOST);
Connection connection = activeMQConnectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = session.createQueue(QUEUE_NAME);
MessageConsumer messageConsumer = session.createConsumer(queue);
messageConsumer.setMessageListener(message -> {
if (message instanceof TextMessage) {
TextMessage receive = (TextMessage) message;
try {
System.out.println("receive.getText() --> " + receive.getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
System.in.read();
}
}