You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ra...@apache.org on 2016/08/17 22:33:20 UTC
camel git commit: camel-hystrix: Ensure configuration is not lost
when setting other parameters separately.
Repository: camel
Updated Branches:
refs/heads/master 3dc47cc6c -> 9b18b1241
camel-hystrix: Ensure configuration is not lost when setting other parameters separately.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9b18b124
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9b18b124
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9b18b124
Branch: refs/heads/master
Commit: 9b18b12419c8a7378a7589262cf34347378f2f95
Parents: 3dc47cc
Author: Ra�l Kripalani <ra...@apache.org>
Authored: Mon Jul 25 13:49:58 2016 +0100
Committer: Ra�l Kripalani <ra...@apache.org>
Committed: Wed Aug 17 23:32:51 2016 +0100
----------------------------------------------------------------------
.../apache/camel/model/HystrixDefinition.java | 4 +--
.../processor/HystrixRouteConfigTest.java | 33 +++++++++++++++++++-
2 files changed, 34 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9b18b124/camel-core/src/main/java/org/apache/camel/model/HystrixDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/HystrixDefinition.java b/camel-core/src/main/java/org/apache/camel/model/HystrixDefinition.java
index 7ef7302..901c1ab 100644
--- a/camel-core/src/main/java/org/apache/camel/model/HystrixDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/HystrixDefinition.java
@@ -173,10 +173,10 @@ public class HystrixDefinition extends ProcessorDefinition<HystrixDefinition> {
* Use <tt>end</tt> when configuration is complete, to return back to the Hystrix EIP.
*/
public HystrixConfigurationDefinition hystrixConfiguration() {
- hystrixConfiguration = new HystrixConfigurationDefinition(this);
+ hystrixConfiguration = hystrixConfiguration == null ? new HystrixConfigurationDefinition(this) : hystrixConfiguration;
return hystrixConfiguration;
}
-
+
/**
* Configures the Hystrix EIP using the given configuration
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/9b18b124/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixRouteConfigTest.java
----------------------------------------------------------------------
diff --git a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixRouteConfigTest.java b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixRouteConfigTest.java
index cf0b164..b9bfc1c 100644
--- a/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixRouteConfigTest.java
+++ b/components/camel-hystrix/src/test/java/org/apache/camel/component/hystrix/processor/HystrixRouteConfigTest.java
@@ -17,6 +17,9 @@
package org.apache.camel.component.hystrix.processor;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.model.HystrixConfigurationDefinition;
+import org.apache.camel.model.HystrixDefinition;
+import org.apache.camel.model.RouteDefinition;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Test;
@@ -30,7 +33,35 @@ public class HystrixRouteConfigTest extends CamelTestSupport {
assertMockEndpointsSatisfied();
}
-
+
+ @Test
+ public void testGroupKeyAndThreadPoolKeyConfigFlagsDoNotScrapHystrixConfiguration() throws Exception {
+ // dummy route
+ RouteBuilder rb = new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ from("direct:foo")
+ .hystrix()
+ .hystrixConfiguration().groupKey("test1").metricsHealthSnapshotIntervalInMilliseconds(99999).end()
+ .groupKey("test2")
+ // ^^^ should only override the groupKey from the HystrixConfigurationDefinition;
+ // it should not discard the full HystrixConfigurationDefinition.
+ .to("log:hello")
+ .end();
+
+ }
+ };
+
+ rb.configure();
+
+ RouteDefinition route = rb.getRouteCollection().getRoutes().get(0);
+ assertEquals(HystrixDefinition.class, route.getOutputs().get(0).getClass());
+
+ HystrixConfigurationDefinition config = ((HystrixDefinition) route.getOutputs().get(0)).getHystrixConfiguration();
+ assertEquals("test2", config.getGroupKey());
+ assertEquals(99999, config.getMetricsHealthSnapshotIntervalInMilliseconds().intValue());
+ }
+
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {