From 8799a27e8d73c5e079d549f6d76abf861d75ee9e Mon Sep 17 00:00:00 2001 From: Christof Rabensteiner Date: Mon, 2 Dec 2019 14:26:42 +0100 Subject: Finalize "Removal of JAXB Class Not Found Fix" - Problem: I fixed CompletableFuture.*async within the DeliveryRequest flow, but forgot to do the same for the DeliveryRequestStatus / DeliveryNotification flow. - Solution: Ensure that all CompletableFuture.*async() invocations have Spring's task executor attached. --- .../java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/main/java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java') diff --git a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java index 61df4b2..3927055 100644 --- a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java +++ b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseSinkHub.java @@ -26,6 +26,7 @@ import at.gv.zustellung.app2mzs.xsd.MsgResponseSinksType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Component; import static java.util.concurrent.CompletableFuture.supplyAsync; @@ -42,13 +43,15 @@ public class MsgResponseSinkHub { private final SaveResponseToFileSink saveResponseSink; private final LogResponseSink logResponseSink; private final ForwardResponseToServiceSink forwardResponseSink; + private final TaskExecutor taskExecutor; @Autowired public MsgResponseSinkHub(SaveResponseToFileSink saveResponseSink, LogResponseSink logResponseSink, - ForwardResponseToServiceSink forwardResponseSink) { + ForwardResponseToServiceSink forwardResponseSink, TaskExecutor taskExecutor) { this.saveResponseSink = saveResponseSink; this.logResponseSink = logResponseSink; this.forwardResponseSink = forwardResponseSink; + this.taskExecutor = taskExecutor; } /** @@ -60,16 +63,16 @@ public class MsgResponseSinkHub { msgResponse.getRootElementLocalPart(), msgResponse.getAppDeliveryID()); if (sinkParams.getSaveResponseToFile().isActive()) { - supplyAsync(() -> saveResponseSink.save(msgResponse, sinkParams.getSaveResponseToFile().getPath())); + supplyAsync(() -> saveResponseSink.save(msgResponse, sinkParams.getSaveResponseToFile().getPath()), taskExecutor); } if (sinkParams.isLogResponse()) { - supplyAsync(() -> logResponseSink.log(msgResponse)); + supplyAsync(() -> logResponseSink.log(msgResponse), taskExecutor); } if (sinkParams.getForwardResponseToService().isActive()) { supplyAsync(() -> forwardResponseSink.send( - msgResponse, sinkParams.getForwardResponseToService().getAppClient())); + msgResponse, sinkParams.getForwardResponseToService().getAppClient()), taskExecutor); } } -- cgit v1.2.3