This is an automated email from the ASF dual-hosted git repository.
jeremyross pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 884c7eae744 camel-core: Update delay EIP doc.
884c7eae744 is described below
commit 884c7eae744bfe8bf074751ef2863dbf6729ed0c
Author: Jeremy Ross <[email protected]>
AuthorDate: Mon Aug 29 15:01:40 2022 -0500
camel-core: Update delay EIP doc.
Some DSLs require delay to be closed in certain situations.
---
.../src/main/docs/modules/eips/pages/delay-eip.adoc | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git
a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
index 2dc749b9af8..f75e38669d2 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
@@ -37,6 +37,21 @@ And in XML:
</route>
----
+Note that delay creates its own block, so some DSLs (including Java) require
the delay block be closed:
+[source,java]
+----
+.from("direct:delayBlockExample")
+ .to("direct:getJobState")
+ .loopDoWhile(simple("${body.state} = 'NOT_DONE'"))
+ .log(LoggingLevel.DEBUG, "Pausing")
+ .delay(10000)
+ .syncDelayed()
+ .end() // we must end the delay or else the log statement will be
executed in each loop iteration
+ .to("direct:getJobState")
+ .end()
+ .log("and we're done");
+----
+
The delayed value can be a dynamic xref:manual::expression.adoc[Expression].
For example to delay a random between 1 and 5 seconds, we can use