The “direct:await-import-complete” calling itself makes me a little nervous - the call stack could get pretty deep if it has to wait very long.
Could you use the loop DSL (http://camel.apache.org/loop.html <http://camel.apache.org/loop.html>)? > On Mar 3, 2016, at 11:44 AM, jelmer <jkupe...@gmail.com> wrote: > > Since no one answered I came up with this : > > from("file:/Users/jkuperus/foo") > .process(ToMultiPartRequestProcessor) > .setHeader(Exchange.HTTP_METHOD, constant(HttpMethods.POST)) > .setHeader(Exchange.CONTENT_TYPE, constant("multipart/form-data")) > .setHeader(Exchange.HTTP_PATH, constant("/api/tasks")) > .to("http4://localhost:11380") > .transform().header("Content-Location") > .to("direct:await-import-complete") > > > from("direct:await-import-complete") > .setHeader(Exchange.HTTP_METHOD, constant(HttpMethods.GET)) > .setHeader(Exchange.HTTP_PATH, body().convertToString()) > .to("http4://localhost:11380") > .transform(body().convertToString()) > .choice() > .when().jsonpath("[?(@.state == 'completed')]") > .transform().jsonpath("@.campaignId") > .to("direct:do-stuff") > .otherwise() > .log("Task was not yet completed retrying in 2 seconds") > .delay(2000) > .transform().header(Exchange.HTTP_PATH) > .to("direct:await-import-complete") > > > Does this make any sense ? > > On 2 March 2016 at 21:27, jelmer <jkupe...@gmail.com> wrote: > >> Hi as part of a camel route i upload a file to a REST service, the service >> will return status 202 and a Content-Location header that points to a json >> resource with a status field >> i want to wait for the status of this resource to change to completed, and >> only then continue. so i need some sort of polling >> But i don't see an obvious way to do this in camel >> can anyone offer any suggestions? >>