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 2020/12/14 09:44:18 UTC
[camel] branch camel-3.7.x updated: CAMEL-15942: spring xml on
camel-spring-boot may add route policy factory twice
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.7.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.7.x by this push:
new 58c538e CAMEL-15942: spring xml on camel-spring-boot may add route policy factory twice
58c538e is described below
commit 58c538eb68ac6912f46fe99a696d251e8f6d74a1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Dec 14 10:42:56 2020 +0100
CAMEL-15942: spring xml on camel-spring-boot may add route policy factory twice
---
.../camel/impl/engine/AbstractCamelContext.java | 20 ++++++++++++++++----
.../java/org/apache/camel/impl/DefaultModel.java | 5 ++++-
2 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 9983be0..b5d7364 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -1953,7 +1953,10 @@ public abstract class AbstractCamelContext extends BaseService
@Override
public void addLifecycleStrategy(LifecycleStrategy lifecycleStrategy) {
- getLifecycleStrategies().add(lifecycleStrategy);
+ // avoid adding double which can happen with spring xml on spring boot
+ if (!getLifecycleStrategies().contains(lifecycleStrategy)) {
+ getLifecycleStrategies().add(lifecycleStrategy);
+ }
}
@Override
@@ -1993,7 +1996,10 @@ public abstract class AbstractCamelContext extends BaseService
@Override
public void addInterceptStrategy(InterceptStrategy interceptStrategy) {
- getInterceptStrategies().add(interceptStrategy);
+ // avoid adding double which can happen with spring xml on spring boot
+ if (!getInterceptStrategies().contains(interceptStrategy)) {
+ getInterceptStrategies().add(interceptStrategy);
+ }
}
@Override
@@ -2007,7 +2013,10 @@ public abstract class AbstractCamelContext extends BaseService
@Override
public void addRoutePolicyFactory(RoutePolicyFactory routePolicyFactory) {
- getRoutePolicyFactories().add(routePolicyFactory);
+ // avoid adding double which can happen with spring xml on spring boot
+ if (!getRoutePolicyFactories().contains(routePolicyFactory)) {
+ getRoutePolicyFactories().add(routePolicyFactory);
+ }
}
@Override
@@ -2020,7 +2029,10 @@ public abstract class AbstractCamelContext extends BaseService
if (logListeners == null) {
logListeners = new LinkedHashSet<>();
}
- logListeners.add(listener);
+ // avoid adding double which can happen with spring xml on spring boot
+ if (!logListeners.contains(listener)) {
+ logListeners.add(listener);
+ }
}
@Override
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
index ee41463..1fc5736 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -78,7 +78,10 @@ public class DefaultModel implements Model {
@Override
public void addModelLifecycleStrategy(ModelLifecycleStrategy modelLifecycleStrategy) {
- this.modelLifecycleStrategies.add(modelLifecycleStrategy);
+ // avoid adding double which can happen with spring xml on spring boot
+ if (!this.modelLifecycleStrategies.contains(modelLifecycleStrategy)) {
+ this.modelLifecycleStrategies.add(modelLifecycleStrategy);
+ }
}
@Override