From 860a8fb7a6981c5f68408a389b5639fc5110a7b1 Mon Sep 17 00:00:00 2001 From: Ken Stevens Date: Fri, 11 Jan 2019 09:49:40 -0500 Subject: [PATCH] Emergency fix. Normally I'd write a test for this, but this startup behaviour is changing in my next PR. --- .../SubscriptionInterceptorLoader.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionInterceptorLoader.java b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionInterceptorLoader.java index 43677179b73..d469a139a8c 100644 --- a/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionInterceptorLoader.java +++ b/hapi-fhir-jpaserver-base/src/main/java/ca/uhn/fhir/jpa/subscription/SubscriptionInterceptorLoader.java @@ -37,6 +37,7 @@ import java.util.Set; public class SubscriptionInterceptorLoader { private static final Logger ourLog = LoggerFactory.getLogger(SubscriptionInterceptorLoader.class); + // TODO KHS remove side-effects of autowiring these beans private SubscriptionMatcherInterceptor mySubscriptionMatcherInterceptor; private SubscriptionActivatingInterceptor mySubscriptionActivatingInterceptor; @@ -52,11 +53,16 @@ public class SubscriptionInterceptorLoader { if (!supportedSubscriptionTypes.isEmpty()) { loadSubscriptions(); - + if (mySubscriptionActivatingInterceptor == null) { + mySubscriptionActivatingInterceptor = myAppicationContext.getBean(SubscriptionActivatingInterceptor.class); + } ourLog.info("Registering subscription activating interceptor"); myDaoConfig.registerInterceptor(mySubscriptionActivatingInterceptor); } if (myDaoConfig.isSubscriptionMatchingEnabled()) { + if (mySubscriptionMatcherInterceptor == null) { + mySubscriptionMatcherInterceptor = myAppicationContext.getBean(SubscriptionMatcherInterceptor.class); + } ourLog.info("Registering subscription matcher interceptor"); myDaoConfig.registerInterceptor(mySubscriptionMatcherInterceptor); } @@ -67,14 +73,6 @@ public class SubscriptionInterceptorLoader { // Load subscriptions into the SubscriptionRegistry myAppicationContext.getBean(SubscriptionLoader.class); ourLog.info("...{} subscriptions loaded", mySubscriptionRegistry.size()); - - // Once subscriptions have been loaded, now - if (mySubscriptionActivatingInterceptor == null) { - mySubscriptionActivatingInterceptor = myAppicationContext.getBean(SubscriptionActivatingInterceptor.class); - } - if (mySubscriptionMatcherInterceptor == null) { - mySubscriptionMatcherInterceptor = myAppicationContext.getBean(SubscriptionMatcherInterceptor.class); - } } @VisibleForTesting