From 5fae5c4590d9a2f269c215ed9f2227b3875932e3 Mon Sep 17 00:00:00 2001 From: stvort Date: Mon, 24 Jul 2023 22:30:23 +0400 Subject: [PATCH] 2023-03 spring-29-integrations-channels updated --- .../src/main/java/ru/otus/spring/integration/App.java | 8 +++++++- .../src/main/java/ru/otus/spring/integration/App.java | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/2023-03/spring-29-integrations-channels/integrations-channels-exercise/src/main/java/ru/otus/spring/integration/App.java b/2023-03/spring-29-integrations-channels/integrations-channels-exercise/src/main/java/ru/otus/spring/integration/App.java index c3ce524d..9df564e1 100644 --- a/2023-03/spring-29-integrations-channels/integrations-channels-exercise/src/main/java/ru/otus/spring/integration/App.java +++ b/2023-03/spring-29-integrations-channels/integrations-channels-exercise/src/main/java/ru/otus/spring/integration/App.java @@ -8,6 +8,7 @@ import org.springframework.integration.annotation.IntegrationComponentScan; import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.dsl.DirectChannelSpec; import org.springframework.integration.dsl.MessageChannels; +import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.SubscribableChannel; import org.springframework.messaging.support.MessageBuilder; @@ -16,6 +17,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import static java.util.Objects.isNull; import static java.util.Objects.requireNonNull; @SpringBootApplication @@ -33,7 +35,11 @@ public class App { ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); executor.scheduleWithFixedDelay(() -> { System.out.println("I am here!!!"); - subscribableDirectChannel.send(requireNonNull(queueChannel.receive(5000))); + Message receivedMessage = queueChannel.receive(5000); + if (isNull(receivedMessage)) { + return; + } + subscribableDirectChannel.send(receivedMessage); }, 100, 300, TimeUnit.MILLISECONDS); queueChannel.send(MessageBuilder.withPayload("Hello").build()); diff --git a/2023-03/spring-29-integrations-channels/integrations-channels-solution/src/main/java/ru/otus/spring/integration/App.java b/2023-03/spring-29-integrations-channels/integrations-channels-solution/src/main/java/ru/otus/spring/integration/App.java index c3ce524d..9df564e1 100644 --- a/2023-03/spring-29-integrations-channels/integrations-channels-solution/src/main/java/ru/otus/spring/integration/App.java +++ b/2023-03/spring-29-integrations-channels/integrations-channels-solution/src/main/java/ru/otus/spring/integration/App.java @@ -8,6 +8,7 @@ import org.springframework.integration.annotation.IntegrationComponentScan; import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.dsl.DirectChannelSpec; import org.springframework.integration.dsl.MessageChannels; +import org.springframework.messaging.Message; import org.springframework.messaging.PollableChannel; import org.springframework.messaging.SubscribableChannel; import org.springframework.messaging.support.MessageBuilder; @@ -16,6 +17,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import static java.util.Objects.isNull; import static java.util.Objects.requireNonNull; @SpringBootApplication @@ -33,7 +35,11 @@ public class App { ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); executor.scheduleWithFixedDelay(() -> { System.out.println("I am here!!!"); - subscribableDirectChannel.send(requireNonNull(queueChannel.receive(5000))); + Message receivedMessage = queueChannel.receive(5000); + if (isNull(receivedMessage)) { + return; + } + subscribableDirectChannel.send(receivedMessage); }, 100, 300, TimeUnit.MILLISECONDS); queueChannel.send(MessageBuilder.withPayload("Hello").build());