ActiveMQ 中的消费者主要有以下几种类型:
- QueueConsumer:点对点模式的消费者,消费队列中的消息。
Queue queue = session.createQueue("myQueue");
MessageConsumer consumer = session.createConsumer(queue);
- TopicSubscriber:发布订阅模式的消费者,消费主题中的消息。
Topic topic = session.createTopic("myTopic");
MessageConsumer consumer = session.createConsumer(topic);
- DurableSubscriber:持久订阅者,消费主题中持久化的消息。
String name = "mySub";
Topic topic = session.createTopic("myTopic");
MessageConsumer consumer = session.createDurableSubscriber(topic, name);
- XAQueueConnectionFactory:支持 XA 事务的 QueueConnectionFactory。
XAQueueConnectionFactory cf = new ActiveMQXAQueueConnectionFactory(url);
QueueConnection conn = cf.createQueueConnection();
- XATopicConnectionFactory:支持 XA 事务的 TopicConnectionFactory。
XATopicConnectionFactory cf = new ActiveMQXATopicConnectionFactory(url);
TopicConnection conn = cf.createTopicConnection();
- MessageListener:消息监听器,异步消费消息。
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
// 消息处理逻辑
}
});