Apache Camel:测试端点是否已启动

时间:2013-04-19 18:55:09

标签: apache-camel

Camel是否提供开箱即用的信息,告诉它是否能够连接所有端点? 这些端点可以是MQ,webservice等。
如果没有,那么我必须编写一个servlet,它将向所有端点发送测试请求。我将使用multicastsplitter进行此实施。

2 个答案:

答案 0 :(得分:0)

根据我的经验,如果from()端点不可用,Camel将仅提供警告日志,因为它不断尝试从中读取。在交换机尝试使用该端点之前,不会访问每个其他端点。如果您的目标是测试各种资源是否存在,我相信您需要创建自己的测试程序。我不认为这将作为一个功能实现,因为如果资源关闭并且解决了适当的行为,应用程序通常会构建错误处理。

答案 1 :(得分:0)

如果我们谈论生产者,那么没有。例如,如果您的路由正在向amqhttp4端点发送消息,则camel不会自动在这些连接上发送TCP数据包以进行监视。处理外部端点故障的常用方法是使用“断路器”。看看https://camel.apache.org/load-balancer.html。一个更强大的选择,即imho,是Netflix的Hystrix

如果你有一个轮询消费者,比如说from:ftp://..,那么轮询消费者会每隔n毫秒轮询一次消息,如果连接断开你就会收到错误。