我是新来的(这是我的第一个问题)。我想配置一个超时,所以如果路线上的一个端点需要更长的时间,骆驼会抛出异常或提供控制权。过去似乎考虑过这样的问题:
我想知道一个简单的拦截器(例如,一个用超时包装端点的拦截器)是否可以完成这项工作,或者这种方法有什么问题(当然,真正的解决方案会比使用多播更轻,但同样主意)。
谢谢,萨吉
我是新来的(这是我的第一个问题)。我想配置一个超时,所以如果路线上的一个端点需要更长的时间,骆驼会抛出异常或提供控制权。过去似乎考虑过这样的问题:
我想知道一个简单的拦截器(例如,一个用超时包装端点的拦截器)是否可以完成这项工作,或者这种方法有什么问题(当然,真正的解决方案会比使用多播更轻,但同样主意)。
谢谢,萨吉
我不确定您是否可以比使用多播“更轻松”地做到这一点。如果您有一堆不同的端点,它在错误处理方面肯定不是很灵活。
主要问题是组件之间存在差异以及它们的行为方式。
从多播文档:
如果达到超时而仍在运行的任务仍然存在,那么 Camel 难以以正常方式关闭的某些任务可能会继续运行。因此,请谨慎使用此选项。
我建议您使用正在使用的端点尝试您的特定场景并对其进行全面测试。
另一种选择是在此处发布特定案例以征求 SO 用户的建议。