MessageContextBase
MessageContext 的内置实现。
提供线程安全的消息处理上下文,支持基于事件的已回复、已完成和失败状态
通知。在调用 close() 时,上下文会自动调用 complete(Object)
并传入原始消息,以标志消息处理结束。
- Type class
- Package:
com.euonia.bus - Author: damon(zhaorong@outlook.com)
- Implements:
MessageContext
Constructors¶
MessageContextBase(Object message)¶
Parameters:
- message (Object): 消息负载
MessageContextBase(MessageEnvelope<?> pack)¶
Parameters:
- pack (MessageEnvelope<?>): 路由消息信封
Methods¶
onReplied(Flow.Subscriber<? super MessageRepliedEvent> subscriber): void¶
Type Parameters: <R> — 响应类型
Parameters:
- subscriber (Flow.Subscriber<? super MessageRepliedEvent>): 消息已回复事件的订阅者
addCompletedSubscriber(Consumer<MessageHandledEvent> consumer): void¶
Parameters:
- consumer (Consumer<MessageHandledEvent>): 消息处理完成事件的消费者
removeCompletedSubscriber(Consumer<MessageHandledEvent> consumer): void¶
Parameters:
- consumer (Consumer<MessageHandledEvent>): 要移除的消费者
getMessage(): Object¶
Returns: Object — 消息对象
getMessageId(): String¶
Returns: String — 消息 ID
setMessageId(String messageId): void¶
Parameters:
- messageId (String): 消息 ID
getCorrelationId(): String¶
Returns: String — 关联 ID
setCorrelationId(String correlationId): void¶
Parameters:
- correlationId (String): 关联 ID
getConversationId(): String¶
Returns: String — 会话 ID
setConversationId(String conversationId): void¶
Parameters:
- conversationId (String): 会话 ID
getRequestTraceId(): String¶
Returns: String — 请求追踪 ID
setRequestTraceId(String requestTraceId): void¶
Parameters:
- requestTraceId (String): 请求追踪 ID
getAuthorization(): String¶
Returns: String — 授权字符串
setAuthorization(String authorization): void¶
Parameters:
- authorization (String): 授权字符串
getUser(): UserPrincipal¶
Returns: UserPrincipal — 用户主体
getHeaders(): Map<String, String>¶
Returns: Map<String, String> — 包含所有消息头的不可变映射
getMetadata(): MessageMetadata¶
Returns: MessageMetadata — 消息元数据
setMetadata(MessageMetadata metadata): void¶
Parameters:
- metadata (MessageMetadata): 消息元数据
response(R message): void¶
Type Parameters: <R> — 响应消息类型
Parameters:
- message (R): 响应消息
failure(Throwable throwable): void¶
Parameters:
- throwable (Throwable): 导致失败的异常
complete(Object message): void¶
Parameters:
- message (Object): 已处理的消息
complete(Object message, Class<?> handlerType): void¶
Parameters:
- message (Object): 已处理的消息
- handlerType (Class<?>): 处理该消息的处理器类型
close(): void¶
此方法对应 .NET 的 dispose 模式:关闭时,上下文发出消息处理完成的 信号并释放所有事件处理器。