setHeader()如何在Apache骆驼中工作

问题描述:

我正在浏览一些关于Apache Camel的文档,但无法理解setHeader()在Apache Camel中的作用。它是否向from中指定的文件添加标题。并且还建议一些链接,我可以在Apache Camel上获得教程。setHeader()如何在Apache骆驼中工作

setHeader消耗的文件(消息)(from)不会将标头设置为文件。

Camel File2检查消息头。这列出了支持产生(到)和消耗(从)File端点的所有消息头。对于消耗的文件,您可以访问消息中支持的((getHeader))标头。但是覆盖这些值不会覆盖文件的元数据。

Apache Camel中的头和属性可以互换使用,以在单个route中的进程之间传递值,但是当您想要跨越不同路由时,行为会有所不同。基本上,端点可能在端点丢失,因为它们通常表示某些组件特定的事物。仔细阅读文档以进一步了解。骆驼

最好的教程 - Apache Camel BooksApache Cammel Documentation

不,它不将文件添加任何东西。 .setHeader()创建一个存在于当前路由中的头部。您可以创建一个标头,如.setHeader("myHeader", "myHeaderValue")。通过.getHeader("myHeader")使用标题访问您的路线期间的动态属性更持久的财产使用交换属性。

请记住,在你的骆驼与Exchange对象的工作和对象有头,性能,body.in,body.out等

所以,当你写from(“file:...”)内容的文件将被推杆到您的Exchange的body.in,然后你可以得到例如在处理器使用exchange.getIn().getBody()文件的内容。

头是您的Exchange的一部分,所以,当你写:exchange.setHeader(“headerExample”,”MyHeader”),这将增加现有交易所的报头的头部。