sz-orm-queue 4.7.0

SZ-ORM Message Queue Extension - 6 MQ Providers (RabbitMQ/NATS/Pulsar/Kafka/ActiveMQ real, RocketMQ stub)
Documentation
[package]

name = "sz-orm-queue"

version.workspace = true

edition.workspace = true

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

keywords.workspace = true

categories.workspace = true

description = "SZ-ORM Message Queue Extension - 6 MQ Providers (RabbitMQ/NATS/Pulsar/Kafka/ActiveMQ real, RocketMQ stub)"



[features]

default = []

# RabbitMQ: lapin (AMQP 0.9.1) — 真实实现

rabbitmq = ["lapin"]

# NATS: async-nats (纯 Rust) — 真实实现

nats = ["async-nats"]

# Pulsar: pulsar crate (纯 Rust) — 真实实现

pulsar = ["dep:pulsar"]

# Kafka: rdkafka (需 librdkafka,Windows 需 vcpkg) — 真实实现

kafka = ["rdkafka"]

# ActiveMQ: 复用 lapin (AMQP 1.0,ActiveMQ 5.14+ 支持) — 真实实现

activemq = ["lapin"]

# RocketMQ: 无成熟 Rust 客户端,保持 stub

# 全部真实实现(除 RocketMQ)

all-real = ["rabbitmq", "nats", "pulsar", "kafka", "activemq"]

# 全部真实实现(除需要外部 C 库/工具的 Kafka 和 Pulsar)

# 用于 Windows 等无 librdkafka/protoc 的环境,修复 --all-features 门禁

all-real-no-native = ["rabbitmq", "nats", "activemq"]

# v3.8.0:Redis TLS 加密连接

prod-redis-tls = []

# v4.0.0 M7:CDC 变更数据捕获(WAL/binlog/触发器 + Exactly-Once + 断点续传 + 下游分发 + 脱敏)

cdc = ["dep:sz-orm-masking"]

# v4.1.0:消息轨迹追踪(采样 + 脱敏 + 端到端关联)

message-tracing = []

# v4.6.0 M1:死信队列自动重投递(DLX + 退避策略 + 路由策略 + 重投递上限)

dlx-auto-redelivery = []

# v4.7.0 M1:消息延迟队列与优先级调度(延迟投递 + 优先级队列 + 定时调度)

delayed-priority-queue = ["dlx-auto-redelivery"]



[dependencies]

async-trait = "0.1"

tokio = { version = "1.40", features = ["full"] }

thiserror = "2.0"

serde = { version = "1.0", features = ["derive"] }

serde_json = "1.0"

futures = "0.3"

lapin = { version = "4", optional = true }

async-nats = { version = "0.38", optional = true }

pulsar = { version = "6", optional = true, default-features = false, features = ["tokio-rustls-runtime"] }

rdkafka = { version = "0.36", optional = true, default-features = false, features = ["cmake-build"] }

# v4.0.0 M7:CDC 变更数据捕获脱敏(cdc feature)

sz-orm-masking = { workspace = true, optional = true }

# v4.7.0 M1:延迟队列与优先级调度(delayed-priority-queue feature)

chrono = { workspace = true, optional = true }



[dev-dependencies]

tokio-test = "0.4"



[lints]

workspace = true



[[test]]

name = "cdc_test"

required-features = ["cdc"]