activemq发送接受消息
时间: 2024-09-28 09:04:03 浏览: 32
python 发送和接收ActiveMQ消息的实例
Apache ActiveMQ是一个开源的消息中间件,它允许在分布式系统中异步地发送和接收消息。在ActiveMQ中,消息发送通常涉及到以下几个步骤:
1. **创建连接**: 首先,你需要通过`ConnectionFactory`创建一个到消息代理服务器的连接。
```java
ActiveMQConnection connection = (ActiveMQConnection) factory.createConnection();
```
2. **创建会话**: 连接建立后,创建一个`Session`用于管理发送和接收消息。
```java
ActiveMQSession session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
```
这里的`false`表示非持久化消息,`AUTO_ACKNOWLEDGE`意味着消息会在消费者消费完毕后自动确认。
3. **创建队列或主题**: 创建一个`Queue`或`Topic`来指定消息的目的地。队列是一对一的通信,而主题则可以广播给所有订阅者。
```java
Destination destination = session.createQueue("queueName"); // 或者 session.createTopic("topicName");
```
4. **生产消息**: 使用`Producer`向队列或主题发送消息。
```java
MessageProducer producer = session.createProducer(destination);
TextMessage message = session.createTextMessage("Hello, World!");
producer.send(message);
```
5. **消费消息**: 创建一个`Consumer`并绑定到目的地,然后从`Session`中获取消息。
```java
MessageConsumer consumer = session.createConsumer(destination);
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
TextMessage txtMsg = (TextMessage) message;
String text = txtMsg.getText(); // 获取接收到的消息内容
System.out.println(text);
}
});
```
6. **关闭资源**: 消费完成后,记得关闭`Connection`, `Session`, 和`Producer`等资源。
阅读全文