주기적으로 반복하는 과정에서 약간의 지연이있는 프로세스를 호출하는 라우트를 만들어야합니다.아파치 카멜의 무한 루프
내가 루프에 대한 설명서를 보면 :
루프 가능성이 각 반복에 대해 다른 방법으로 메시지 여러 번의 수를 처리 할 수 있습니다. 주로 테스트하는 동안 유용합니다.
무한 루프 (CamelLoopSize
명시 적으로 지정하지 않음)를 수행해야하므로이 방법은 유용하지 않습니다.
내 두 번째 생각은 "재귀"의 종류를 사용했다 : 그러나 약 600 반복 후,
가from("direct:updateLoop").routeId("updateLoop")
.process(someProcess)
...
.filter(someFilter) // Can be used to stop the workflow
.delay(18000000) // Wait 5 hours and start again
.to("direct:updateLoop")
이 며칠 동안 잘 작동을,이 더 나은 방법이 있나요 StackOverflowException
실패 내 과정을 무한 루프로 돌릴 수 있습니까?
석영 또는 타이머 구성 요소를 사용하지 않는 이유는 무엇입니까? –
사전에 프로세스를 완료하는 데 걸리는 시간을 미리 결정할 수 없기 때문에 이 과정은 몇 분에서 며칠이 걸릴 수 있습니다. 타이머 만 설정하면 동일한 데이터 세트를 동시에 처리 할 수 있습니다. 필자의 유스 케이스에는 지연 설정이 더 적합합니다. – Peter
소비자 패턴을 폴링하는 것은 어떻습니까? – vikingsteve