Bur*_*ner 1 java apache-camel apache-camel-mail
在 Camel 2.x 中,我可以向消息添加附件,例如:
exchange.getOut().addAttachment("LogFile.log.gz", new DataHandler(Base64.decodeBase64(FileContentBase64),"application/x-gzip"));
Run Code Online (Sandbox Code Playgroud)
但在 Camel 3.0 中这是不可能的。我像迁移指南所说的那样更改我的代码:
exchange.getMessage().addAttachment("LogFile.log.gz", new DataHandler(Base64.decodeBase64(FileContentBase64),"application/x-gzip"));
Run Code Online (Sandbox Code Playgroud)
但它不起作用。这也不是:
exchange.getIn().addAttachment("LogFile.log.gz", new DataHandler(Base64.decodeBase64(FileContentBase64),"application/x-gzip"));
Run Code Online (Sandbox Code Playgroud)
有一个想法,来解决这个问题。
我想通过电子邮件发送此附件。
Camel版本 3进行了大量模块化。所以附件 API被提取出来并且必须以不同的方式使用,参见Camel 3 Migration Guide:
附件API(javax.activation中)已被移出
org.apache.camel.message到扩展org.apache.camel.attachment.AttachmentMessage从骆驼附件JAR。要使用此 API,您可以通过
getMessageExchange上的方法获取它:Run Code Online (Sandbox Code Playgroud)AttachmentMessage am = exchange.getMessage(AttachmentMessage.class); am.addAttachment("myAtt", new DataHandler(...));
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |