当前位置: 首页 > 知识库问答 >
问题:

更改camel中的exchange内容

盖昀
2023-03-14

我正在尝试使用camel实现一个场景,如下所示:-

>

将文件和文件的crc值存储在目录中

我的路线如下

from("jms:queue")
 .to(save the file)
 .process(since I have the content of the file in exchange so generating crc)
 .to(file system save the crc file)
 .to(Push both the files to the sftp server);

但是上传到sftp服务器的文件只是crc文件,因为它在exchange中存在。我应该如何解决这种情况?如果你们中有人遇到过这个问题,请指导我。谢谢

共有1个答案

叶英哲
2023-03-14

我认为您应该使用有线抽头将exchange复制到其他路由,并让新路由保存文件并将其sftp到正确的位置。

from("jms:queue")
  .wireTap("direct:save-file")
  .process(since I have the content of the file in exchange so generating crc)
  .to(file system save the crc file)
  .to(Push file to the sftp server);

from("direct:save-file")
  .to(save the file)
  .to(Push file to the sftp server);
 类似资料:
  • 我有一个带有Camel处理器的骆驼DSL路由,该处理器确定要发送文件的位置。路径保存到Exchange中的标头中,以便将其传递回路由。我想在我的路由中使用此标头值(路径),但我收到以下错误: “不允许使用${}占位符的动态表达式。请使用文件名选项设置动态表达式。” 当我使用fileName选项时,这会创建一个文件作为路径中的最后一个目录,而我希望这是一个目录,但没有像directoryName这样

  • 我正在使用cxf作为带有WS-寻址的apache骆驼路由中的生产者。我知道可以通过(例如可能是错误的)在路由中设置SoapAction Header WS-Addressing操作字段是否也可以这样做?因为我注意到它发送的值错误。我需要输入两个WS-Addressing操作值,并在驼峰路线中决定使用哪一个。

  • 我有一个,它配置了15条。 我想实现的是检查路由内每个传入()的标头,如果不存在,则添加标头。 我可以在每个中使用来实现这一点。例如。 目的是在所有交换消息之间使用相同的id,以便以后更容易关联它们。 那么,在CamelConfiguration(配置)中是否有一种驼峰方式来执行此操作,以使其适用于所有路线。 我预计拦截如下。 它将被接受,但似乎不会继续使用<代码>。to()在每个RouteBui

  • 在我的项目中,我有固定的页眉和页脚,以及可变的内容。所以我已经将ContentControl放在了我的窗口中。 看起来是这样的... 我创建了两个名为page1、Page2用户控件。第1页有一个按钮,当我单击该按钮时,ContentControl有显示Page2。 所以我用button1_Click编写了下面的代码 但是在点击按钮的时候ContentControl没有改变我能做什么呢? 我的pag

  • 问题内容: 如果我创建一个新的HashMap和一个新的List,然后使用一些任意键将List放置在Hashmap中,然后再调用会影响我放置在HashMap中的内容吗? 更深层的问题是:当我向HashMap中添加某些内容时,是复制并放置了一个新对象,还是放置了对原始对象的引用? 谢谢! 问题答案: 这里发生的事情是您在哈希图中放置了 指向 列表的 指针 ,而不是列表本身。 当您定义 您正在定义指向列

  • 我有一本书。NETCore2.0WebAPI应用程序,其中我将“Flurl.Http”(版本2.1.0)NuGet包添加到我的项目中。 我正在尝试使用Flurl对一个VisualStudioTeamServices(VSTS)APIendpoint进行简单的RESTAPI调用。 但是,我正在调用的特定VSTS api终结点要求将Content-Type设置为“应用程序/json-补丁json”,而