【发布时间】:2016-08-03 21:18:20
【问题描述】:
我有一个 Apache Camel(版本 2.15.3)路由,配置如下(使用 XML 和 Java DSL 的混合):
- 从 FTP 站点上的多个文件夹之一读取文件。
- 设置一个标头以指示它是从哪个文件夹读取的。
- 进行一些处理和审核。
- 同步 POST 到外部 REST 服务(jax-rs 1.1、Glassfish、Java EE 6)。
- REST 服务需要很长时间才能完成工作,20 多分钟。
- 收到回复。
- 进行更多处理和审核。
- 将响应写入 FTP 站点上的多个文件夹之一。
- 使用开头设置的标头知道要写入哪个文件夹。
所有这些都配置在链式路由的单个路径中。
问题在于,当服务仍在处理时,与外部 REST 服务的连接将超时。基础设施有点复杂(边缘服务器、负载平衡器、Glassfish),无论如何我认为增加超时不是正确的解决方案。
我怎样才能实现这条路线,以避免超时,同时仍然满足我的所有要求:(1) 将响应写入适当的 FTP 文件夹,(2) 审核事务,以及 (3) 满足其他事务/上下文-具体要求?
我对 Camel 和 REST 比较陌生,所以也许这很简单,但我不知道要使用哪些 Camel 和 REST 工具和技术。
(欢迎提出问题和改进建议。)
【问题讨论】:
标签: web-services rest apache-camel