diff --git a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/cf/JMSConnectionFactoryProvider.java b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/cf/JMSConnectionFactoryProvider.java index 781ce653fce8..75d83bebb926 100644 --- a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/cf/JMSConnectionFactoryProvider.java +++ b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/cf/JMSConnectionFactoryProvider.java @@ -39,7 +39,6 @@ import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.expression.ExpressionLanguageScope; import org.apache.nifi.processor.util.StandardValidators; -import org.apache.nifi.reporting.InitializationException; import org.apache.nifi.ssl.SSLContextService; import org.apache.nifi.ssl.SSLContextService.ClientAuth; import org.slf4j.Logger; @@ -143,7 +142,9 @@ protected PropertyDescriptor getSupportedDynamicPropertyDescriptor(final String public void resetConnectionFactory(ConnectionFactory cachedFactory) { if (cachedFactory == connectionFactory) { getLogger().debug("Resetting connection factory"); - connectionFactory = null; + ConfigurationContext context = getConfigurationContext(); + this.createConnectionFactoryInstance(context); + this.setConnectionFactoryProperties(context); } } @@ -160,7 +161,7 @@ public ConnectionFactory getConnectionFactory() { } @OnEnabled - public void enable(ConfigurationContext context) throws InitializationException { + public void enable(ConfigurationContext context) { try { if (!this.configured) { if (logger.isInfoEnabled()) { diff --git a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/AbstractJMSProcessor.java b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/AbstractJMSProcessor.java index e51238dd791c..0f46758d5c66 100644 --- a/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/AbstractJMSProcessor.java +++ b/nifi-nar-bundles/nifi-jms-bundle/nifi-jms-processors/src/main/java/org/apache/nifi/jms/processors/AbstractJMSProcessor.java @@ -170,6 +170,7 @@ public void onTrigger(ProcessContext context, ProcessSession session) throws Pro try { // Safe to cast. Method #buildTargetResource(ProcessContext context) sets only CachingConnectionFactory CachingConnectionFactory currentCF = (CachingConnectionFactory)worker.jmsTemplate.getConnectionFactory(); + worker.shutdown(); cfProvider.resetConnectionFactory(currentCF.getTargetConnectionFactory()); worker = buildTargetResource(context); }catch(Exception e) {