sz-orm-queue 1.2.2

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"]

# 预留 feature 标志(stub:无真实后端实现,仅用于测试编译验证)

rocketmq = []

redis = []



[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"] }



[dev-dependencies]

tokio-test = "0.4"



[lints]

workspace = true