如果Apache Camel SFTP传输故障切换不会移动到下一个活动连接,首先需要确保使用了正确的配置。检查以下属性:负载平衡,故障转移超时和最大重新尝试连接次数。
以下是一个示例代码片段,可以作为参考:
public void configure() throws Exception {
from("sftp://username@hostname/directory?password=password&delay=5000&maximumReconnectAttempts=5&reconnectDelay=5000&timeout=30000&stepwise=false&idempotent=false")
.loadBalance().failover(3, false, true, ConnectException.class)
.to("file:output")
.end();
}
在这个示例中,loadBalance()
用于指定负载平衡策略,failover()
用于指定故障转移参数。在这个例子中,如果连接异常,它将最多重试3次,每次等待5000毫秒。如果所有尝试都失败,它将终止传输并报告失败。