Java
Euonia Bus-Abstract 模块 API 文档
概述¶
Bus-Abstract 是 Euonia 消息总线的抽象契约层,定义了消息传输、分发、约定分类、策略路由和接收者注册的核心接口。该模块不包含任何具体传输实现,而是为 bus-core(编排层)和各传输适配器(bus-inmemory、bus-rabbitmq、bus-kafka)提供统一的扩展点。
- Maven 坐标:
com.euonia:bus-abstract - Java 模块名:
com.euonia.bus
导出包¶
com.euonia.bus.annotation¶
消息分类、路由和订阅的注解,用于标记消息类型和处理器方法。
| 类名 | 类型 | 说明 |
|---|---|---|
| Channel | annotation | 指定消息处理器订阅的通道名称 |
| DispatchIn | annotation | 指定消息的出站传输通道 |
| DistributedMessage | annotation | 标记消息应通过分布式传输(如 Kafka、RabbitMQ)发送 |
| Enqueue | annotation | 标记消息应入队等待处理,可指定队列名称和优先级 |
| LocalMessage | annotation | 标记消息应通过本地传输(如内存)发送 |
| Multicast | annotation | 标记消息为多播,发送给多个订阅者 |
| ReceiveIn | annotation | 指定消息的入站传输通道 |
| Request | annotation | 标记消息为请求-响应,指定期望的响应类型 |
| Subscribe | annotation | 标记方法为消息订阅处理器,指定通道和分组 |
| Unicast | annotation | 标记消息为单播,仅发送给一个订阅者 |
com.euonia.bus.convention¶
消息约定分类,决定消息投递语义。
| 类名 | 类型 | 说明 |
|---|---|---|
| MessageConvention | interface | 消息分类契约接口 |
| MessageConventionBuilder | class | 约定构建器,流式聚合多个约定 |
| MessageConventionType | enum | 消息类型枚举:NONE, UNICAST, MULTICAST, REQUEST |
com.euonia.bus.strategy¶
传输策略路由,决定消息走哪条通道。
| 类名 | 类型 | 说明 |
|---|---|---|
| TransportStrategy | interface | 传输策略契约接口 |
| TransportStrategyBuilder | class | 策略构建器,流式聚合多个策略 |
com.euonia.bus¶
核心抽象层 — 传输、分发、上下文、信封、元数据和通道处理。
| 类名 | 类型 | 说明 |
|---|---|---|
| Transport | interface | 传输抽象契约,定义消息发布、发送和请求-响应调用的方法 |
| Dispatcher | interface | 消息类型到传输名称的决策接口 |
| Configurator | interface | 全局配置接口 |
| MessageContext | interface | 消息处理上下文 |
| MessageContextBase | class | 消息上下文的默认实现 |
| MessageEnvelope | interface | 消息信封接口,封装消息数据、元数据和头信息 |
| MessageHeaders | class | 消息头常量定义 |
| MessageMetadata | class | 可扩展的消息元数据键值对容器 |
| HandlerContext | class | 消息处理器上下文 |
| ChannelHandler | record | 通道处理器,封装处理器类型、方法和实例 |
| ChannelRegistration | class | 通道注册信息,包含消息类型和处理器列表 |
com.euonia.bus.message¶
消息分类标记接口。
| 类名 | 类型 | 说明 |
|---|---|---|
| Message | interface | 消息基类标记接口 |
| Unicast | interface | 单播消息标记 |
| Multicast | interface | 多播消息标记 |
| Request | interface | 请求-响应消息标记 |
com.euonia.bus.event¶
消息处理事件体系。
| 类名 | 类型 | 说明 |
|---|---|---|
| MessageProcessedEvent | class | 基础事件 |
| MessageDeliveredEvent | class | 消息已投递 |
| MessageReceivedEvent | class | 消息已接收 |
| MessageAcknowledgedEvent | class | 消息已确认 |
| MessageRepliedEvent | class | 消息已回复 |
| MessageHandledEvent | class | 消息已处理 |
| MessageSubscribedEvent | class | 订阅事件 |
| MessageProcessType | enum | 处理类型枚举 |
com.euonia.bus.exception¶
消息总线异常层次结构。
| 类名 | 类型 | 说明 |
|---|---|---|
| ChannelNotRegisterException | exception | 通道未注册异常 |
| MessageConventionException | exception | 消息约定异常 |
| MessageDeliverException | exception | 消息投递失败异常 |
| MessageProcessingException | exception | 消息处理失败异常 |
| MessageTransportException | exception | 传输层错误异常 |
| MessagePersistentException | exception | 消息持久化失败异常 |
| MessageTypeException | exception | 无效/未分类的消息类型异常 |
com.euonia.bus.recipient¶
消息接收者角色定义。
| 类名 | 类型 | 说明 |
|---|---|---|
| Recipient | interface | 接收者基类 |
| Consumer | interface | 通用消费者标记 |
| Subscriber | interface | 多播接收者 |
| Executor | interface | 单播/请求接收者 |
| RecipientRegistrar | interface | 接收者注册器 |
com.euonia.bus.consistency¶
收件箱/发件箱模式(幂等消费与事务发件)抽象。
| 类名 | 类型 | 说明 |
|---|---|---|
| InboxEntry | class | 收件箱条目 |
| InboxHandle | class | 收件箱处理句柄 |
| InboxStore | interface | 收件箱存储接口 |
| OutboxEntry | class | 发件箱条目 |
| OutboxStore | interface | 发件箱存储接口 |
| OutboxTransport | interface | 发件箱传输接口 |
com.euonia.bus.dlq¶
死信队列抽象。
| 类名 | 类型 | 说明 |
|---|---|---|
| DeadLetterMessage | record | 死信消息 |
com.euonia.bus.serialization¶
序列化契约。
| 类名 | 类型 | 说明 |
|---|---|---|
| MessageSerializer | interface | 消息序列化契约 |
依赖¶
com.euonia:core(compile)org.junit.jupiter:junit-jupiter(test)org.assertj:assertj-core(test)