栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring RocketMq操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring RocketMq操作

Spring中使用RocketMq收发消息,简单记录一下后面熟练使用了再完善一下内容。

1.依赖:

        
            org.apache.rocketmq
            rocketmq-spring-boot-starter
            
            2.1.0
        

2.发送消息

@Component
public class UserInfoProvider {

    @Resource
    private RocketMQTemplate rocketMQTemplate;

    //同步消息
    public void sendSyncMessage(String message) {
        SendResult sendResult = rocketMQTemplate.syncSend("boot:", message);
        log.info("send message body={},result={}", message, sendResult.getSendStatus());
    }

    //异步消息
    public void SendAsyncMessage() {
        List list = new ArrayList();
        list.add("异步消息发送");
        rocketMQTemplate.asyncSend("boot", list, new SendCallback() {
            @Override
            public void onSuccess(SendResult sendResult) {
                //成功回调
                System.out.println(sendResult.getSendStatus());
            }
            @Override
            public void onException(Throwable e) {
                //异常回调
                System.out.println(e.getMessage());
            }
        });
    }
}

3.消费消息

@Component
@RocketMQMessageListener(
        //topic主题
        topic = "boot",
        //consumerGroup消费者组
        consumerGroup = "pm-service"
)
public class UserInfoConsume implements RocketMQListener, RocketMQPushConsumerLifecycleListener {

    @Override
    public void onMessage(MessageExt messageExt) {
        System.out.println("hello消费消息"+new String(messageExt.getBody()));
    }

    @Override
    public void prepareStart(DefaultMQPushConsumer defaultMQPushConsumer) {
        //时间间隔
        defaultMQPushConsumer.setPullInterval(2000);
        // 设置每次从队列中拉取的消息数为16
        defaultMQPushConsumer.setPullBatchSize(16);
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号