This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 2f03fddc2837a44ed85655e18421da227bd90bfc Author: Otavio Rodolfo Piske <[email protected]> AuthorDate: Mon Dec 30 14:49:01 2024 +0100 (chores) camel-infinispan: avoid affecting the stop if the cache manager is unstarted --- .../infinispan/remote/InfinispanRemoteConsumer.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java index 45a4db3894b..7e8de630142 100644 --- a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java +++ b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java @@ -31,12 +31,17 @@ import org.infinispan.client.hotrod.RemoteCache; import org.infinispan.client.hotrod.RemoteCacheManager; import org.infinispan.client.hotrod.Search; import org.infinispan.client.hotrod.event.ClientEvent; +import org.infinispan.client.hotrod.exceptions.RemoteCacheManagerNotStartedException; import org.infinispan.query.api.continuous.ContinuousQuery; import org.infinispan.query.api.continuous.ContinuousQueryListener; import org.infinispan.query.dsl.Query; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class InfinispanRemoteConsumer extends InfinispanConsumer<RemoteCacheManager, InfinispanRemoteManager, InfinispanRemoteConfiguration> { + private static final Logger LOG = LoggerFactory.getLogger(InfinispanRemoteConsumer.class); + private Service handler; public InfinispanRemoteConsumer( @@ -141,7 +146,15 @@ public class InfinispanRemoteConsumer @SuppressWarnings("unchecked") @Override public void doStop() { - getCache(RemoteCache.class).removeClientListener(listener); + final RemoteCache cache = getCache(RemoteCache.class); + if (cache != null) { + try { + cache.removeClientListener(listener); + } catch (RemoteCacheManagerNotStartedException e) { + LOG.debug("Cannot remote the listener because the cache manager is not started: {}", e.getMessage(), e); + } + } + } }
