Springboot integra noticias de consumo real de RocketMQ

Noticias de consumo real

@Component
public class PayConsumer {

    private String consumerGroup = "pay_consumer_group";
    private String nameServerAddr = "39.96.192.171:9876";
    private static final String topic = "pay_topic";

    private DefaultMQPushConsumer consumer;

    public PayConsumer() throws MQClientException {
        consumer = new DefaultMQPushConsumer(consumerGroup);
        consumer.setNamesrvAddr(nameServerAddr);
        consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);
        consumer.subscribe(topic, "*");
        consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> {
            try {
                Message msg = msgs.get(0);
                System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), new String(msgs.get(0).getBody()));
                String topic = msg.getTopic();
                String body = new String(msg.getBody(), "utf-8");
                String tags = msg.getTags();
                String keys = msg.getKeys();
                System.out.println("topic=" + topic + ", tags=" + tags + ", keys=" + keys + ", msg=" + body);
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
                return ConsumeConcurrentlyStatus.RECONSUME_LATER;
            }
        });
        consumer.start();
    }
}

Luego inicie el servicio y envíe un mensaje

Mire la consola de ideas nuevamente, el mensaje debería haberse consumido

¡Consumo exitoso! Aquí es solo una simple realización del consumo de mensajes.

Supongo que te gusta

Origin blog.csdn.net/qq_41023026/article/details/89763781
Recomendado
Clasificación