You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Camel 4.4 SFTP消费者健康检查探针失败问题求助

解决Camel 4.4中SFTP路由健康检查探针失败问题

问题背景

我有一条简化后的SFTP路由:

from("sftp://servername:22?username=username&password=password&preferredAuthentications=password")

pom.xml依赖如下:

<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-ftp-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

该路由在Camel 2.x版本中可正常运行,但在Camel 4.4(Red Hat Camel 4.4构建版本)中出现健康检查探针失败错误:

Probe in group 'camel', with id 'consumer:route3' failed with message 'Consumer has not yet polled route

解决方案

1. 延长第一次轮询的等待超时

Camel 4.x对消费者健康检查的默认逻辑更严格,默认情况下如果消费者启动后未完成第一次轮询,健康探针直接判定失败。可以通过配置延长等待时间:
在application.properties中添加:

management.health.camel.consumer.max-wait-time=5000

或者application.yml:

management:
  health:
    camel:
      consumer:
        max-wait-time: 5000

(单位:毫秒,示例设置为5秒,可根据实际轮询间隔调整)

2. 禁用该SFTP消费者的健康检查

如果这条路由的轮询间隔很长(比如数小时一次),没必要因为未轮询影响整体健康状态,可在路由URI中直接关闭健康检查:

from("sftp://servername:22?username=username&password=password&preferredAuthentications=password&healthCheckEnabled=false")

3. 修正配置并验证SFTP连接

先检查原路由URI的语法错误(原代码末尾缺少闭合引号),然后确认SFTP连接是否正常:

  • 核对服务器地址、端口、账号密码的正确性
  • 开启Camel DEBUG日志,查看连接初始化过程,排查是否有隐藏的连接失败问题

4. 全局调整消费者健康检查策略

如果需要统一关闭所有消费者的健康检查(仅在必要时使用):

management.health.camel.consumer.enabled=false

内容的提问来源于stack exchange,提问作者Vinnie Romano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 12:55:59