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. --- src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java') diff --git a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java index 0da9c92..81398da 100644 --- a/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java +++ b/src/main/java/at/gv/egiz/moazs/backend/MsgResponseBackend.java @@ -31,6 +31,7 @@ import at.gv.zustellung.app2mzs.xsd.DeliveryRequestType; 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 java.util.Map; @@ -64,18 +65,21 @@ public class MsgResponseBackend implements Consumer { private final MsgResponseSinkHub hub; private final Map deliveryRequestConfigs; private final MzsDeliveryRequestValidator validator; + private final TaskExecutor taskExecutor; @Autowired public MsgResponseBackend(DeliveryRepository repository, Consumer signatureVerifier, MsgResponseSinkHub hub, Map deliveryRequestConfigs, - MzsDeliveryRequestValidator validator) { + MzsDeliveryRequestValidator validator, + TaskExecutor taskExecutor) { this.repository = repository; this.signatureVerifier = signatureVerifier; this.hub = hub; this.deliveryRequestConfigs = deliveryRequestConfigs; this.validator = validator; + this.taskExecutor = taskExecutor; } /** @@ -91,8 +95,8 @@ public class MsgResponseBackend implements Consumer { @Override public void accept(String responseID) { log.info("Backend accepts MsgResponse with responseID={}.", responseID); - supplyAsync(() -> verifySignature(responseID)) - .thenAcceptAsync(msgResponse -> applySinks(msgResponse)) + supplyAsync(() -> verifySignature(responseID), taskExecutor) + .thenAcceptAsync(msgResponse -> applySinks(msgResponse), taskExecutor) .exceptionally(ex -> { log.error(ex.getMessage(), ex); return null; -- cgit v1.2.3