You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/05/22 07:38:11 UTC

(camel) branch camel-4.10.x updated: CAMEL-21963: camel-infinispan in embedded mode. Fix wrong cache when using query parameters and no query parameters as they then end up using different cache manager.

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.10.x by this push:
     new d8fad85b4e7 CAMEL-21963: camel-infinispan in embedded mode. Fix wrong cache when using query parameters and no query parameters as they then end up using different cache manager.
d8fad85b4e7 is described below

commit d8fad85b4e7418199d11ca92f0a4ebd73ae2c34a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu May 22 09:37:14 2025 +0200

    CAMEL-21963: camel-infinispan in embedded mode. Fix wrong cache when using query parameters and no query parameters as they then end up using different cache manager.
---
 .../embedded/InfinispanEmbeddedComponent.java      | 26 ++++++++++++++++++++++
 .../embedded/InfinispanEmbeddedEndpoint.java       | 19 ++++------------
 2 files changed, 30 insertions(+), 15 deletions(-)

diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
index 103662cb8ed..3bc6c54e895 100644
--- a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedComponent.java
@@ -23,6 +23,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.infinispan.InfinispanComponent;
 import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.annotations.Component;
+import org.apache.camel.support.service.ServiceHelper;
 
 @Component(InfinispanEmbeddedComponent.SCHEME)
 public class InfinispanEmbeddedComponent extends InfinispanComponent {
@@ -31,6 +32,8 @@ public class InfinispanEmbeddedComponent extends InfinispanComponent {
     @Metadata(description = "Component configuration")
     private InfinispanEmbeddedConfiguration configuration = new InfinispanEmbeddedConfiguration();
 
+    private InfinispanEmbeddedManager manager;
+
     public InfinispanEmbeddedComponent() {
     }
 
@@ -47,6 +50,29 @@ public class InfinispanEmbeddedComponent extends InfinispanComponent {
         return endpoint;
     }
 
+    @Override
+    protected void doInit() throws Exception {
+        super.doInit();
+        manager = new InfinispanEmbeddedManager(configuration);
+        ServiceHelper.initService(manager);
+    }
+
+    @Override
+    protected void doStart() throws Exception {
+        super.doStart();
+        ServiceHelper.startService(manager);
+    }
+
+    @Override
+    protected void doStop() throws Exception {
+        super.doStop();
+        ServiceHelper.stopService(manager);
+    }
+
+    public InfinispanEmbeddedManager getManager() {
+        return manager;
+    }
+
     public void setConfiguration(InfinispanEmbeddedConfiguration configuration) {
         this.configuration = configuration;
     }
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
index 62eaff08029..71120964781 100644
--- a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedEndpoint.java
@@ -27,7 +27,6 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
-import org.apache.camel.support.service.ServiceHelper;
 
 import static org.apache.camel.component.infinispan.InfinispanConstants.SCHEME_EMBEDDED;
 
@@ -45,37 +44,27 @@ public class InfinispanEmbeddedEndpoint extends InfinispanEndpoint {
     @UriParam
     private final InfinispanEmbeddedConfiguration configuration;
 
-    private final InfinispanEmbeddedManager manager;
-
     public InfinispanEmbeddedEndpoint(String uri, String cacheName, InfinispanComponent component,
                                       InfinispanEmbeddedConfiguration configuration) {
         super(uri, component);
         this.cacheName = cacheName;
         this.configuration = configuration;
-        this.manager = new InfinispanEmbeddedManager(component.getCamelContext(), configuration);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-        ServiceHelper.startService(manager);
     }
 
     @Override
-    protected void doStop() throws Exception {
-        super.doStop();
-        ServiceHelper.stopService(manager);
+    public InfinispanEmbeddedComponent getComponent() {
+        return (InfinispanEmbeddedComponent) super.getComponent();
     }
 
     @Override
     public Producer createProducer() throws Exception {
-        return new InfinispanEmbeddedProducer(this, cacheName, manager, configuration);
+        return new InfinispanEmbeddedProducer(this, cacheName, getComponent().getManager(), configuration);
     }
 
     @Override
     public Consumer createConsumer(Processor processor) throws Exception {
         InfinispanEmbeddedConsumer consumer
-                = new InfinispanEmbeddedConsumer(this, processor, cacheName, manager, configuration);
+                = new InfinispanEmbeddedConsumer(this, processor, cacheName, getComponent().getManager(), configuration);
 
         configureConsumer(consumer);
         return consumer;