首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新尝试自定义Camel端点/使用者的启动,直到服务器资源可用为止

重新尝试自定义Camel端点/使用者的启动,直到服务器资源可用为止
EN

Stack Overflow用户
提问于 2015-08-04 15:02:22
回答 1查看 629关注 0票数 0

我有一个定制端点和使用者,通过放置持久查询来订阅LDAP服务器中的更改。

当使用端点的路由启动时,可能无法到达LDAP服务器,并且在使用者中创建连接失败。到目前为止,我正在抛出一个例外,骆驼标记消费者停止。就是这样。(加上一些错误,我不太理解LDAP路由调用的“直接”路由。但这是另一回事。)我想要发生的是优雅地失败,然后再试一次。任一

  • 路由启动失败,请重试,直到建立连接为止,或
  • 未能启动使用者,请重试,直到可以建立连接。

这两种“适当”的骆驼成分行为中有哪一种是正确的?如果是,我怎样才能做到呢?如果没有,我该怎么做呢?

另一种可能的方法是在创建使用者时报告成功,即使LDAP连接无法建立。然后拆分一个线程,该线程试图创建连接,并将持久查询按一定的间隔放置。但这对我来说是不对的,因为路由/端点/消费者将处于“启动”状态,但在建立到目录服务器的连接之前,它们确实功能失调。

我查看了camel-jms组件是如何处理testConnectionOnStartup设置的,即当它设置为false时。在我看来,即使连接无效,一切都将处于“启动”状态。

EN

回答 1

Stack Overflow用户

发布于 2015-08-04 19:56:20

听起来你可以利用骆驼的送货政策。

http://camel.apache.org/redeliverypolicy.html

你也可以在这里找到一些例子:

http://camel.apache.org/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.html

这样,每次捕获异常时,都要抛出并重发消息X次。如果消息仍然失败,则将其放入死信队列中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31812788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档