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

保存或检索以前的Camel交换体

步弘和
2023-03-14

我正在进行我的第一个骆驼项目,如果这很明显或令人困惑,请道歉。

该应用程序是一个简单的服务,happy path是从一个文件夹中收集一个PDF,获取一个电子邮件地址以发送它,创建并发送电子邮件(使用Velocity模板,将PDF作为附件),记录电子邮件已发送,并删除文件。

但是我正在尝试构建一些重试逻辑,将文件移动到单独的文件夹中以便稍后重新加载。

我试图解决的问题是,Vel这时候组件用email正文覆盖交换正文,如果我用File使用者组件结束html" target="_blank">路由,那么这个email正文就会替换PDF内容。

(我认为我不能在文件生产者组件上使用“移动”参数,因为我正在使用两个重试文件夹-如果路由中的后续步骤失败,我不想重新发送电子邮件。)

我可以将文件内容复制到exchange的另一部分,然后在移动文件之前恢复它,但这对我来说感觉相当糟糕。在继续处理文件之前,有没有办法从exchange的拷贝中运行电子邮件组件?或者通过其他方式获得早期版本的交换体?

共有1个答案

仲孙夕
2023-03-14

我猜你只是想访问旧的消息体来访问文件对象,如果电子邮件发送失败。如果我是对的,您可以将文件对象存储到exchange属性中,然后您可以随时访问它。

 类似资料:
  • > < li >我们公开了一个Apache camel-cxf webservice。使用camel处理器,我们试图从soapUi客户端获取我们在soap请求中传递的soap头。 < li> 交换对象包含soap消息的正文(不是soap消息头)。在exchange.getIn.getHeader()中,我们只获得传递的HTTP头,而不是SOAP头。 如何在Camel中从交换对象中检索SOAP头?

  • 检出之前的提交 git checkout git checkout 这个命令有三个不同的作用:检出文件、检出提交和检出分支。在这一章中,我们只关心前两种用法。 检出提交会使工作目录和这个提交完全匹配。你可以用它来查看项目之前的状态,而不改变当前的状态。检出文件使你能够查看某个特定文件的旧版本,而工作目录中剩下的文件不变。 用法 git checkout master 回到 master 分支。分支

  • 问题内容: 嗨,我正在尝试将EditText小部件值保存在手机/平板电脑的内部存储器中,以便应用程序关闭或活动停止时可以自动检索它们。所有这些都可以使用保存按钮来完成。(窗口小部件的值由用户输入)。 问题答案: 您应该使用共享首选项,共享首选项用于在需要访问数据时将其存储在本地应用程序中。使用此链接https://www.journaldev.com/9412/android- shared-pr

  • 问题内容: 我正在尝试存储一个Integer并使用KeyChain对其进行检索。 这是我如何保存它: 这是我尝试检索它的方式: 我收到以下错误: 无法将类型’__NSCFNumber’的值强制转换为’NSString’ 我尝试使用变量,但没有成功。 问题答案: 好吧,我只是用光了源代码等,并做了自己的好帮手:尽情享受吧!

  • 问题内容: 我有一个具有以下结构的模型 保存时其他一切都很好。它将另存为Firebase Realtime数据库 但是当我尝试检索它时,日期给出了以下错误- 我知道Firebase不支持Java Date对象,但是由于它将它们保存在地图中,如何从该地图中获取日期?在Firebase Android中,是否有任何适当的保存和检索日期的方法? 问题答案: 您可以将日期存储为纪元日期。您可以花很长的时间

  • 我想在Firebase中根据Firebase本地服务器时间和日期保存数据,而不是本地系统日期,如果用户的移动电话日期错误,则可能是错误的。然后我想通过像SQL查询一样应用日期查询(给我两个日期之间的数据并添加特定的colmn)来检索它。我如何在使用Java的安卓系统中做到这一点呢?