RocketMQ与Spring集成,采用push方式接收消息。后面有生产者与Spring集成,以及使用方法。
maven依赖
<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>com.alibaba.rocketmq</groupId>
<artifactId>rocketmq-all</artifactId>
<version>3.2.6</version>
<type>pom</type>
</dependency>
监听处理类
public class MessageListenerImpl implements MessageListenerConcurrently {
private static final Logger LOG = LoggerFactory.getLogger(MessageListenerImpl.class);
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
LOG.info(Thread.currentThread().getName()
+ " Receive New Messages: " + msgs.size()+";msg:" + msgs);
for (MessageExt msg : msgs) {
try {
System.out.println(">>>>"+new String(msg.getBody(),"UTF-8"));
} catch (UnsupportedEncodingException e) {
LOG.error(e.toString());
}
}
// 有异常抛出来,不要全捕获了,这样保证不能消费的消息下次重推,每次重新消费间隔:10s,30s,1m,2m,3m
// 如果没有异常会认为都成功消费
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
}