我参与了我的第一个Camel项目,如果这很明显或令人困惑,请道歉。
该应用程序是一项简单的服务,快乐的方法是从文件夹中收集PDF,获取发送给它的电子邮件地址,构建和发送电子邮件(使用Velocity模板,PDF作为附件),记录电子邮件已发送,并删除该文件。
但我正在尝试构建一些重试逻辑,将文件移动到单独的文件夹以便稍后重新加载。
我试图解决的问题是Velocity组件用电子邮件正文覆盖了Exchange体,然后如果我随后使用File使用者组件结束路由,则此电子邮件正文将替换PDF内容
(我不认为我可以使用文件制作者组件上的' move'参数,因为我正在使用两个重试文件夹 - 我不会'如果路线中的后续步骤失败,我想重新发送电子邮件。)
我可以将文件内容复制到交换的另一部分,然后在移动文件之前将其恢复,但这对我来说感觉相当邋..在恢复处理文件之前,有没有办法在交换副本上运行电子邮件组件?或者其他一些获得交换体早期版本的方式?
答案 0 :(得分:0)
如果电子邮件发送失败,我想您只想访问旧邮件正文以访问文件对象。 如果我是对的,您可以将文件Object存储到exchange属性中,然后您可以随时访问它。