java代码的mq实现
时间: 2024-03-15 07:17:52 浏览: 121
MQ using java
5星 · 资源好评率100%
Java代码的MQ实现可以使用Java Message Service(JMS)API来实现。以下是一个基本的JMS实现示例:
```
import javax.jms.*;
import org.apache.activemq.ActiveMQConnectionFactory;
public class JMSProducer {
public static void main(String[] args) {
try {
//创建连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
//创建连接
Connection connection = connectionFactory.createConnection();
//启动连接
connection.start();
//创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建目的地
Destination destination = session.createQueue("MyQueue");
//创建生产者
MessageProducer producer = session.createProducer(destination);
//创建消息
TextMessage message = session.createTextMessage("Hello, World!");
//发送消息
producer.send(message);
System.out.println("Sent message: " + message.getText());
//关闭连接
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class JMSConsumer {
public static void main(String[] args) {
try {
//创建连接工厂
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
//创建连接
Connection connection = connectionFactory.createConnection();
//启动连接
connection.start();
//创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建目的地
Destination destination = session.createQueue("MyQueue");
//创建消费者
MessageConsumer consumer = session.createConsumer(destination);
//接收消息
Message message = consumer.receive();
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
System.out.println("Received message: " + textMessage.getText());
} else {
System.out.println("Received message: " + message);
}
//关闭连接
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个示例使用ActiveMQ作为消息代理,并创建了一个队列(MyQueue)来发送和接收消息。生产者使用createTextMessage方法创建一个文本消息,并使用send方法将其发送到目的地。消费者使用createConsumer方法创建一个消费者,并使用receive方法从队列中接收消息。如果消息是文本消息,则将其打印到控制台上。最后,关闭连接以释放资源。
阅读全文