RocketMq(4)消费者demo

 

@Component
public class PayConsumer {
    private DefaultMQPushConsumer consumer;
    private String consumerGroup="pay_consumer_group";


    public PayConsumer() throws MQClientException {
        consumer = new DefaultMQPushConsumer(consumerGroup);
        consumer.setNamesrvAddr(JmsConfig.NAME_SERVER_ADDRESS);
//        从哪开始消费,一般从最后开始消费
        consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET);
//        订阅的主题   以及主题下的那些标签进行消费
        consumer.subscribe(JmsConfig.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);
//消费成功的话会告诉broker ,之后broker会将其删除
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
                return ConsumeConcurrentlyStatus.RECONSUME_LATER;
            }
        });

        consumer.start();
    }

}

 

RocketMQ生产者:https://mp.csdn.net/postedit/97239078

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然,这里是一个简单的 RocketMQ Java 代码示例: ```java import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.client.producer.DefaultMQProducer; import org.apache.rocketmq.client.producer.SendResult; import org.apache.rocketmq.client.producer.SendStatus; import org.apache.rocketmq.common.message.Message; public class RocketMQProducer { public static void main(String[] args) { // 实例化生产者对象 DefaultMQProducer producer = new DefaultMQProducer("your_producer_group"); // 设置NameServer地址 producer.setNamesrvAddr("your_namesrv_address"); try { // 启动生产者 producer.start(); // 创建消息对象 Message message = new Message( "your_topic", // 指定消息的主题 "your_tag", // 指定消息的标签 "Hello RocketMQ".getBytes() // 指定消息内容 ); // 发送消息并获取发送结果 SendResult result = producer.send(message); // 判断消息是否发送成功 if (result.getSendStatus() == SendStatus.SEND_OK) { System.out.println("消息发送成功,消息ID:" + result.getMsgId()); } else { System.out.println("消息发送失败,错误信息:" + result.getSendStatus()); } } catch (MQClientException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭生产者 producer.shutdown(); } } } ``` 请根据实际情况替换代码中的 `your_producer_group`、`your_namesrv_address` 和 `your_topic`,以及根据需要修改消息内容、标签等。这个示例展示了如何使用 RocketMQ 的 Java 客户端发送消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智达教育‍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值