Improve Delayer DSL (#8645)

* Improve Delayer DSL

Move `groupId` option from a `delay()` method arg to the `DelayerEndpointSpec`
to make it cleaner from code reading perspective
* Expose new DSL method based on just a `DelayerEndpointSpec` for Kotlin &v Groovy
* Deprecate multi-arg `delay()` methods in favor of `Consumer<DelayerEndpointSpec>`-based

* * Fix language and code style
This commit is contained in:
Artem Bilan
2023-06-12 16:01:40 -04:00
committed by GitHub
parent c4ee5512f6
commit 81af20aabf
11 changed files with 128 additions and 21 deletions

View File

@@ -801,7 +801,8 @@ public class IntegrationFlowTests {
return IntegrationFlow.from("bridgeFlow2Input")
.bridge(c -> c.autoStartup(false).id("bridge"))
.fixedSubscriberChannel()
.delay("delayer", d -> d
.delay(d -> d
.messageGroupId("delayer")
.delayExpression("200")
.advice(this.delayedAdvice)
.messageStore(this.messageStore()))

View File

@@ -320,7 +320,10 @@ class KotlinDslTests {
wireTap {
channel { queue("wireTapChannel") }
}
delay("delayGroup") { defaultDelay(100) }
delay {
messageGroupId("delayGroup")
defaultDelay(100)
}
transform<String> { it.uppercase() }
}