第 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()InventoryService-","Getter 和 setter 方法用于消息 ID。是否需要在自定义组件中使用消息 ID 是一个实现详情。 -
getExchange()admission- the parent exchange 对象的引用。 -
isFault(),setFault()abrt-jaxbGetter 和 setter method for the fault 标记(指明此消息是否是一个错误消息)。 -
getHeader(),getHeaders(),setHeader(), setHeaders(),removeHeaderprotobuf-对消息标头的 setter 方法。通常,这些消息标头可用于存储实际标头数据,或者用于存储各种元数据。(),带有Headers() -
getBody(),getMandatoryBody(),setBody()and setBody()and setter method for the message body.getMandatoryBody()accessor 保证返回的正文不是null,否则会引发InvalidPayloadException异常。 -
getAttachment(),getAttachment(),getAttachmentNames(),removeAttachment(), addAttachment(),setAttachments(), haveAttachments(), withAttachments()获取、设置、添加和删除附加。 -
copy()InventoryService-apiVersionCreates a new, identical(包括消息 ID)副本当前自定义消息对象。 -
将指定通用消息对象(包括消息 ID)的完整内容(包括消息 ID)复制到当前消息实例中。由于此方法必须能够从任何消息类型复制,因此它会复制通用消息属性,但不能复制自定义属性。 -
如果消息实施能够提供 ID,则
createExchangeId(),会返回null的唯一 ID。