feat(rabbitmq): add message queue management support

This commit is contained in:
Yann丶 authored and GitHub committed 2026-07-22 23:52:09 +08:00
1 parent 503d6748d4
commit 39e554369f
76 files changed
+14915 -707

No files matched your search

+20
View File
@@ -88,6 +88,12 @@ fn add_mq_routes(router: Router<Arc<WebState>>) -> Router<Arc<WebState>> {
.route("/mq/topics/route", post(routes::mq::get_topic_route))
.route("/mq/topics/alter-config", post(routes::mq::alter_topic_config))
.route("/mq/topics/skip-accumulation", post(routes::mq::skip_topic_accumulation))
.route("/mq/exchanges/list", post(routes::mq::list_exchanges))
.route("/mq/exchanges/create", post(routes::mq::create_exchange))
.route("/mq/exchanges/delete", post(routes::mq::delete_exchange))
.route("/mq/bindings/list", post(routes::mq::list_bindings))
.route("/mq/bindings/bind", post(routes::mq::bind_queue))
.route("/mq/bindings/unbind", post(routes::mq::unbind_queue))
.route("/mq/messages/view", post(routes::mq::view_message))
.route("/mq/messages/query-by-key", post(routes::mq::query_messages_by_key))
.route("/mq/messages/query-by-topic", post(routes::mq::query_messages_by_topic))
@@ -105,19 +111,33 @@ fn add_mq_routes(router: Router<Arc<WebState>>) -> Router<Arc<WebState>> {
.route("/mq/producers/list", post(routes::mq::list_producers))
.route("/mq/consumers/list", post(routes::mq::list_consumers))
.route("/mq/topics/unload", post(routes::mq::unload_topic))
.route("/mq/client-connections/list", post(routes::mq::list_client_connections))
.route("/mq/client-connections/close", post(routes::mq::close_client_connection))
.route("/mq/channels/list", post(routes::mq::list_client_channels))
.route("/mq/policies/publish-rate", post(routes::mq::set_publish_rate))
.route("/mq/policies/dispatch-rate", post(routes::mq::set_dispatch_rate))
.route("/mq/policies/subscribe-rate", post(routes::mq::set_subscribe_rate))
.route("/mq/policies/backlog-quota", post(routes::mq::set_backlog_quota))
.route("/mq/policies/retention", post(routes::mq::set_retention))
.route("/mq/policies/effective", post(routes::mq::get_effective_policies))
.route("/mq/policies/list", post(routes::mq::list_policies))
.route("/mq/policies/set", post(routes::mq::set_policy))
.route("/mq/policies/delete", post(routes::mq::delete_policy))
.route("/mq/permissions/grant", post(routes::mq::grant_permission))
.route("/mq/permissions/revoke", post(routes::mq::revoke_permission))
.route("/mq/permissions/list", post(routes::mq::list_permissions))
.route("/mq/users/list", post(routes::mq::list_users))
.route("/mq/users/create", post(routes::mq::create_user))
.route("/mq/users/delete", post(routes::mq::delete_user))
.route("/mq/user-permissions/list", post(routes::mq::list_user_permissions))
.route("/mq/user-permissions/grant", post(routes::mq::grant_user_permission))
.route("/mq/user-permissions/revoke", post(routes::mq::revoke_user_permission))
.route("/mq/tokens/issue", post(routes::mq::issue_token))
.route("/mq/tokens/list", post(routes::mq::list_token_records))
.route("/mq/monitoring/backlog", post(routes::mq::get_backlog))
.route("/mq/monitoring/cluster-info", post(routes::mq::get_cluster_info))
.route("/mq/overview", post(routes::mq::get_overview))
.route("/mq/nodes", post(routes::mq::list_nodes))
.route("/mq/raw", post(routes::mq::raw_request))
.route("/mq/send-message", post(routes::mq::send_message))
}
+1
View File
@@ -750,6 +750,7 @@ mod tests {
let _ = std::fs::remove_dir_all(dir);
}
#[cfg(feature = "mq-admin")]
#[tokio::test]
async fn save_connections_drops_cached_mq_adapter_for_updated_config() {
let (state, dir) = test_web_state().await;
File diff suppressed because it is too large. Load diff