- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Apache Camel 在两个系统之间集成数据。我希望将生成的 xml 写入 xml 文件。我想将该文件的名称基于集成链启动时未知的一些数据。
当我完成第一个丰富步骤时,所需的数据位于 Exchange 对象中。
所以问题是如何从流程链外部的 Exchange.getIn().getBody() 方法获取数据,以便为我的输出文件生成所需的文件名,最后一步,将 xml 写入这个文件?或者还有其他方法可以实现这一点吗?
这是我当前的路由构建器配置方法的流程链:
from("test_main", "jetty:server")<br/>
.process(new PiProgramCommonProcessor())<br/>
.enrich("piProgrammeEnricher", new PiProgrammeEnricher())<br/>
// after this step I have the data available in exchange.in.body
.to(freeMarkerXMLGenerator)<br/>
.to(xmlFileDestination)
.end();
最诚挚的问候节奏
最佳答案
文件组件从 header (如果存在)中获取文件名。因此,您只需使用所需的文件名向消息添加 header 即可。
header 应使用“CamelFileName”键,该键也是从 Exchange.FILE_NAME 定义的。
查看更多详细信息:http://camel.apache.org/file2
关于java - 如何从 Exchange 获取内容。In :Body object from a ProcessDefinition in Camel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661379/
我是一名优秀的程序员,十分优秀!