Skip to main content

Crate rocketmq_admin_core

Crate rocketmq_admin_core 

Source
Expand description

RocketMQ Tools - Admin and CLI utilities

This crate provides both:

  • Core: Reusable business logic for RocketMQ operations
  • CLI: Command-line interface with formatting and validation

§Architecture

┌─────────────────────────────────────────┐
│           CLI Layer (bin/)              │
│  - Command parsing (clap)               │
│  - Output formatting (formatters/)      │
│  - Input validation (validators/)       │
└─────────────────┬───────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────┐
│         Core Logic (core/)              │
│  - Topic operations                     │
│  - NameServer operations                │
│  - Broker operations (future)           │
│  - Consumer operations (future)         │
└─────────────────┬───────────────────────┘
                  │
                  ▼
┌─────────────────────────────────────────┐
│        Admin API (admin/)               │
│  - DefaultMQAdminExt                    │
│  - MQAdminExt trait implementations     │
└─────────────────────────────────────────┘

§Usage Examples

§As a Library (using core)

use rocketmq_admin_core::core::admin::AdminBuilder;
use rocketmq_admin_core::core::topic::TopicService;

// With RAII auto-cleanup
let mut admin = AdminBuilder::new()
    .namesrv_addr("127.0.0.1:9876")
    .build_with_guard()
    .await?;

let clusters = TopicService::get_topic_cluster_list(&mut admin, "MyTopic").await?;
// admin automatically cleaned up here

§As a CLI Tool

rocketmq-admin-cli-rust topic topicClusterList -t MyTopic -n 127.0.0.1:9876

Modules§

admin
cli
CLI presentation layer
core
Core business logic module
rocketmq_cli
ui
UI utilities for enhanced CLI experience