apache camel polling a rest endpoint

ani*_*aja 3 apache-camel

我有一个休息端点sample.org,它返回表单的json响应

{
  "response" : "pending" 
}
Run Code Online (Sandbox Code Playgroud)

我的路线看起来像这样

from("http://sample.org")
.marshal(xmlFormatConverterUtil.getxmlJsonDataFormat())  //To convert into json as I receive data in xml format which needs to be converted to json
Run Code Online (Sandbox Code Playgroud)

我读到了关于轮询消费者但没有找到关于如何继续轮询端点的示例,直到它将响应返回为"成功".

是否应该使用民意调查消费者?如果是这样,可以举例说明与我的案例相关的例子.轮询其余端点的任何其他资源都非常有用.

Cla*_*sen 6

您需要从计时器开始,然后调用其余端点.然后你可以检查结果,然后它是否使用controlbus停止路由.过滤器可用于检查其是否挂起,然后只是停止继续路由,然后下一个计时器将再次尝试.

沿着这条伪路线走来走去

from timer
  to http
  marshal
  filter (if pending)
     stop 
  end
  to something with positive response
  to controlbus stop route
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到更多细节