From 1c2b95ed074cd770c3f74e52eedefb23cbcd445e Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Fri, 28 Feb 2020 12:00:31 -0500 Subject: [PATCH] GH-195: Fix cafe-dsl for missed subscriber Fixes https://github.com/spring-projects/spring-integration-samples/issues/195 After some Java DSL modification to request an explicit subscriber for replies into a main flow from the `route()`, the `cafe-dsl` has stopped to work * Remove redundant `defaultOutputToParentFlow()` since it doesn't bring any value into a flow logic * add `bridge()` into all the route sub-flows as a thirds subscriber to make an explicit reply into a main flow after delay and logging --- .../integration/samples/dsl/cafe/lambda/Application.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dsl/cafe-dsl/src/main/java/org/springframework/integration/samples/dsl/cafe/lambda/Application.java b/dsl/cafe-dsl/src/main/java/org/springframework/integration/samples/dsl/cafe/lambda/Application.java index cd4ae6c2..1843b8f2 100644 --- a/dsl/cafe-dsl/src/main/java/org/springframework/integration/samples/dsl/cafe/lambda/Application.java +++ b/dsl/cafe-dsl/src/main/java/org/springframework/integration/samples/dsl/cafe/lambda/Application.java @@ -93,7 +93,8 @@ public class Application { " prepared cold drink #" + this.coldDrinkCounter.incrementAndGet() + " for order #" + p.getOrderNumber() + ": " + p) - .handle(m -> System.out.println(m.getPayload()))))) + .handle(m -> System.out.println(m.getPayload())))) + .bridge()) .subFlowMapping(false, sf -> sf .channel(c -> c.queue(10)) .publishSubscribeChannel(c -> c @@ -104,8 +105,8 @@ public class Application { " prepared hot drink #" + this.hotDrinkCounter.incrementAndGet() + " for order #" + p.getOrderNumber() + ": " + p) - .handle(m -> System.out.println(m.getPayload()))))) - .defaultOutputToParentFlow()) + .handle(m -> System.out.println(m.getPayload())))) + .bridge())) .transform(orderItem -> new Drink(orderItem.getOrderNumber(), orderItem.getDrinkType(),