Java

InboxStore

收件箱(Inbox)持久化接口,用于消息去重(幂等性)。
  • Type interface
  • Package: com.euonia.bus.consistency
  • Author: damon(zhaorong@outlook.com)

Methods

insert(String channel, MessageEnvelope<T> message, List<String> handlers): boolean

插入一条消息到收件箱。

Parameters: - channel (String): 消息通道 - message (MessageEnvelope<T>): 消息内容 - handlers (List<String>): 处理器列表

Returns: boolean — 插入是否成功

insert(InboxEntry entry): boolean

插入一条消息到收件箱。

Parameters: - entry (InboxEntry): 消息条目

Returns: boolean — 插入是否成功

markAsSuccess(String messageId, String handler): void

标记消息处理成功。

Parameters: - messageId (String): 消息ID - handler (String): 处理器

markAsFailed(String messageId, String handler, String errorMessage): void

标记消息处理失败。

Parameters: - messageId (String): 消息ID - handler (String): 处理器 - errorMessage (String): 错误信息

get(String messageId): InboxEntry

获取收件箱条目。

Parameters: - messageId (String): 消息ID

Returns: InboxEntry — 收件箱条目

getAndCache(String messageId): InboxEntry

获取收件箱条目并缓存。

Parameters: - messageId (String): 消息ID

Returns: InboxEntry — 收件箱条目

clearCache(): void

清除缓存。

getFailedMessages(): List<InboxHandle>

获取处理失败的消息列表。

Returns: List<InboxHandle> — 处理失败的消息列表