在Camel in Action一书中,写道默认异常处理仅针对交换对象的生命周期。假设我使用以下路线 -
/* returns the next biggest or null. If it's null, the first is the next biggest
\. */
BSTVertex searchOrNextBiggest(BSTVertex T, int key) {
/* this.nextBiggest is the next biggest so far */
if (T == null) return this.nextBiggest;
else if (T.key == key) return T;
/* is this the next biggest */
if (T.key - key > 0 &&
(this.nextBiggest == null ||
T.key - key < this.nextBiggest.key - key))
this.nextBiggest = T;
if (T.key < key) return searchOrNextBiggest(T.left, key);
else return searchOrNextBiggest(T.right, key);
}
第一次查询 - &gt;对于上面的路线,我认为消费者是sftp,生产者是文件。我在这儿吗?
第二次查询 - &gt;我们如何处理目标端点处的异常(在交换对象的生命周期之外)。
答案 0 :(得分:0)
第一你是对的。
2nd 在文件成功写入磁盘之前引发的任何异常都将触发Camel的异常处理,默认情况下,基于文件的组件会触发原始文件的回滚,以便数据不会丢失。