0
我是與Apache Camel合作的新手。你能幫我移動文件嗎?我有這樣的路線:在moveFailed上移動文件不起作用
from("file:data?noop=true?move={{package.success}}&moveFailed={{package.failed}}")
.split(ExpressionBuilder.beanExpression(new InvoiceIteratorFactory(), "createIterator"))
.streaming()
.process(new ValidatorProcessor())
.choice()
.when(new Predicate() {
@Override
public boolean matches(Exchange exchange) {
..;
}
})
.to("jpa://...?consumer.transacted=true")
.otherwise()
.aggregate(header(PropertyNameConstants.AGGREGATOR_HEADER), new ErrorsAggregationStrategy())
.completionPredicate(new Predicate() {
@Override
public boolean matches(Exchange exchange) {
...;
}
})
.to("smtps://smtp.gmail.com?username={{remote.e-mail}}&password={{remote.password}}");
所以,用錯誤的文件應該被移動到目錄「失敗」和文件沒有錯誤目錄「成功」。我試圖在聚合所需消息(解析帶有錯誤的文件)時生成異常,以便將文件移動到目錄「失敗」,但所有文件移動到目錄「成功」,即使有異常。
如果我在聚合器之前拋出異常,文件移動到「失敗」目錄但最後「到」(發送郵件)不起作用。
@HelenaBragina購買此書!購買本書!這真的很值得。 – Namphibian