RocketMQ rocketmq-tools管理主题

RocketMQ rocketmq-tools管理主题

环境和软件版本

Win10IDEAJdk1.8rocketmq 5.1.3rocketmq-tools 5.1.3

引入依赖

xml 复制代码
<dependency>
    <groupId>org.apache.rocketmq</groupId>
    <artifactId>rocketmq-tools</artifactId>
    <version>5.1.3</version>
</dependency>

增删改查

  1. 启动rocketmq
sh 复制代码
mqnamersrv.cmd
mqbroker.cmd -n localhost:9876
  1. 测试代码

创建/更新主题

java 复制代码
    @Test
    @DisplayName("创建/修改主题")
    public void rocketMQCreateTopic() throws Exception {
        DefaultMQAdminExt adminExt = new DefaultMQAdminExt();
        adminExt.setNamesrvAddr("localhost:9876");
        adminExt.start();
        TopicConfig topicConfig = new TopicConfig();
        topicConfig.setTopicName("testTopic0");
        topicConfig.setReadQueueNums(8);
        topicConfig.setWriteQueueNums(8);
        topicConfig.setPerm(6);
        Set<String> brokerAddress = CommandUtil.fetchMasterAddrByClusterName(adminExt, "DefaultCluster");
        for (String address : brokerAddress) {
            System.out.printf("Broker地址:%s\n", address);
            adminExt.createAndUpdateTopicConfig(address, topicConfig);
        }
    }

查询主题

java 复制代码
    @Test
    @DisplayName("查询主题")
    public void rocketMQGetTopic() throws Exception {
        DefaultMQAdminExt adminExt = new DefaultMQAdminExt();
        adminExt.setNamesrvAddr("localhost:9876");
        adminExt.start();
        TopicList topicList = adminExt.fetchAllTopicList();
        Set<String> topicNameList = topicList.getTopicList();
        for (String topicName : topicNameList) {
            System.out.printf("主题:%s\n", topicName);
        }
    }

删除主题

java 复制代码
    @Test
    @DisplayName("删除主题")
    public void rocketMQDeleteTopic() throws Exception {
        DefaultMQAdminExt adminExt = new DefaultMQAdminExt();
        adminExt.setNamesrvAddr("localhost:9876");
        adminExt.start();
        adminExt.deleteTopic("testTopic0", "DefaultCluster");
        // 删除之后再查一遍
        TopicList topicList = adminExt.fetchAllTopicList();
        Set<String> topicNameList = topicList.getTopicList();
        for (String topicName : topicNameList) {
            System.out.printf("主题:%s\n", topicName);
        }
    }
相关推荐
galaxyffang3 天前
RocketMQ 为什么性能不如 Kafka?
分布式·kafka·rocketmq
一叶飘零_sweeeet3 天前
从 Kafka 到 RocketMQ:迁移实战全攻略
分布式·kafka·rocketmq
一叶飘零_sweeeet6 天前
Spring Cloud Alibaba RocketMQ 实战:从底层原理到微服务落地全攻略
微服务·架构·rocketmq
一叶飘零_sweeeet7 天前
RocketMQ 核心解密:NameServer 路由发现与负载均衡的底层逻辑全解析
负载均衡·rocketmq
无心水7 天前
【分布式利器:事务】5、本地消息表vs事务消息:异步方案怎么选?
分布式·rocketmq·分布式事务·saga·事务消息·分布式利器·2pc3pc
huisheng_qaq7 天前
【RocketMq源码篇-02】rocketmq集群搭建详细过程(docker版-2主2从)
docker·rocketmq·rocketmq集群·rocketmq源码·2主2从
无心水8 天前
【分布式利器:RocketMQ】RocketMQ基本原理详解:架构、流程与核心特性(附实战场景)
中间件·架构·rocketmq·topic·rocketmq基本原理·电商金融mq·nameserver
小虾米 ~9 天前
RocketMQ DefaultMQPushConsumer vs DefaultLitePullConsumer
java·rocketmq·java-rocketmq
2***57429 天前
后端消息中间件对比,RabbitMQ与RocketMQ
分布式·rabbitmq·rocketmq
无心水10 天前
【分布式利器:RocketMQ】2、RocketMQ消息重复?3种幂等方案,彻底解决重复消费(附代码实操)
网络·数据库·rocketmq·java面试·消息幂等·重复消费·分布式利器