第 44 章 消息接口
摘要
本章论述了如何实现 Message 接口,这是 Apache Camel 组件实现的可选步骤。
44.1. 消息接口 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
概述 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
一个 org.apache.camel.Message
类型的实例可以代表任何类型的消息(In 或 Out)。图 44.1 “消息继承层次结构” 显示消息类型的继承层次结构。您不需要始终为组件实施自定义消息类型。在很多情况下,默认的实现 DefaultMessage
足够了。
图 44.1. 消息继承层次结构
Message 接口 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
例 44.1 “消息接口” 显示 org.apache.camel.Message
接口的定义。
例 44.1. 消息接口
消息方法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Message 接口定义了以下方法:
-
setMessageId ()
,getMessageId ()
categories-PROFILEGetter 和 setter 方法用于消息 ID。是否需要在自定义组件中使用消息 ID 是一个实现详情。 -
getExchange ()
mvapichReturns 对父交换对象的引用。 -
isFault ()
,setFault ()
criu-unmarshalGetter 和 setter 方法用于 fault 标志,它指示此消息是否是 fault 消息。 -
getHeader ()
,getHeaders ()
,setHeader ()
,setHeaders ()
,removeHeader ()
,hasHeaders ()
来包括消息标头的 setter 方法。通常,这些消息标头可用于存储实际标头数据,或存储各种元数据。 -
getBody ()
,getMandatoryBody ()
,setBody ()
iwl-wagonGetter 和 setter 方法用于消息正文。getMandatoryBody ()accessor 确保返回的正文不是 null,否则会抛出InvalidPayloadException
异常。 -
getattachment ()
,getAttachments ()
,getAttachmentNames ()
,removeAttachment ()
,addAttachment ()
,setAttachments ()
,hasAttachments ()
to get, set, add, and remove attachments. -
copy ()
criu-busyboxCreates a new, identicals a new, the message ID),当前自定义消息对象的副本。 -
将指定通用消息对象的消息
复制到
当前消息实例中的完整内容(包括消息 ID)。由于此方法必须能够从任何消息类型复制,所以它会复制通用消息属性,但不能复制自定义属性。
-
如果消息实施能够提供 ID;否则,
createExchangeId ()
将返回null
的唯一 ID。