This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-3.11.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.11.x by this push: new 4e55926eb29 Remove hystrix EIP link as its removed. Dont know the antora kung-fu to refer to a specific version. 4e55926eb29 is described below commit 4e55926eb29e2a6fafb2c5579608a12f443741ad Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu May 19 18:43:54 2022 +0200 Remove hystrix EIP link as its removed. Dont know the antora kung-fu to refer to a specific version. --- .../org/apache/camel/catalog/docs.properties | 2 - .../org/apache/camel/catalog/docs/hystrix-eip.adoc | 149 --------------------- .../org/apache/camel/catalog/docs/nav.adoc | 2 - .../apache/camel/catalog/docs/onFallback-eip.adoc | 2 +- .../main/docs/modules/eips/pages/hystrix-eip.adoc | 149 --------------------- .../eips/pages/hystrixConfiguration-eip.adoc | 48 ------- .../docs/modules/eips/pages/onFallback-eip.adoc | 2 +- docs/components/modules/others/nav.adoc | 1 - docs/components/modules/others/pages/hystrix.adoc | 36 ----- 9 files changed, 2 insertions(+), 389 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties index ae70635b840..211ba57616a 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties @@ -213,8 +213,6 @@ hwcloud-iam-component hwcloud-smn-component hwcloud-summary hystrix -hystrix-eip -hystrixConfiguration-eip ical-dataformat idempotentConsumer-eip iec60870-client-component diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hystrix-eip.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hystrix-eip.adoc deleted file mode 100644 index 2c5ad515b95..00000000000 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hystrix-eip.adoc +++ /dev/null @@ -1,149 +0,0 @@ -[[hystrix-eip]] -= Hystrix EIP (deprecated) - -The Hystrix EIP provides integration with Netflix https://github.com/Netflix/Hystrix[Hystrix] to be used as circuit breaker in the Camel routes. Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. - - -[NOTE] -==== -Camel provides the Circuit Breaker EIP in the route model, which allows to plugin different implementations. -Hystrix is one such implementation. -==== - -Maven users will need to add the following dependency to their pom.xml to use this EIP: - -[source,xml] ----- -<dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-hystrix</artifactId> - <version>x.x.x</version><!-- use the same version as your Camel core version --> -</dependency> ----- - -== Configuration options - -// eip options: START -The Hystrix EIP supports 2 options which are listed below: - -[width="100%",cols="2,5,^1,2",options="header"] -|=== -| Name | Description | Default | Type -| *hystrixConfiguration* | Configures the Hystrix EIP Use end when configuration is complete, to return back to the Hystrix EIP. | | HystrixConfigurationDefinition -| *hystrixConfigurationRef* | Refers to a Hystrix configuration to use for configuring the Hystrix EIP. | | String -|=== -// eip options: END - -See xref:hystrixConfiguration-eip.adoc[Hystrix Configuration] for all the configuration options on Hystrix EIP. - -== Samples - -Below is an example route showing an Hystrix endpoint that protects against slow operation by falling back to the in-lined fallback route. By default the timeout request is just *1000ms* so the HTTP endpoint has to be fairly quick to succeed. -[source,java] ----- -from("direct:start") - .circuitBreaker() - .to("http://fooservice.com/slow") - .onFallback() - .transform().constant("Fallback message") - .end() - .to("mock:result"); ----- - -And in XML DSL: -[source,xml] ----- -<camelContext xmlns="http://camel.apache.org/schema/spring"> - <route> - <from uri="direct:start"/> - <circuitBreaker> - <to uri="http://fooservice.com/slow"/> - <onFallback> - <transform> - <constant>Fallback message</constant> - </transform> - </onFallback> - </circuitBreaker> - <to uri="mock:result"/> - </route> -</camelContext> ----- - -== Configuring Hystrix - -You can fine-tune Hystrix by the many xref:hystrixConfiguration-eip.adoc[Hystrix Configuration] options. -For example to use a 2 second execution timeout, you can do as follows: - -[source,java] ----- -from("direct:start") - .circuitBreaker() - // use 2 second timeout - .hystrixConfiguration().executionTimeoutInMilliseconds(2000).end() - .log("Hystrix processing start: ${threadName}") - .toD("direct:${body}") - .log("Hystrix processing end: ${threadName}") - .end() - .log("After Hystrix ${body}"); ----- - -And in XML: - -[source,xml] ----- -<route> - <from uri="direct:start"/> - <circuitBreaker> - <hystrixConfiguration executionTimeoutInMilliseconds="2000"/> - <log message="Hystrix processing start: ${threadName}"/> - <toD uri="direct:${body}"/> - <log message="Hystrix processing end: ${threadName}"/> - </circuitBreaker> - <log message="After Hystrix: ${body}"/> -</route> ----- - -== Fallback - -See xref:onFallback-eip.adoc[onFallback]. - -== Other examples - -You can find an example with the source code: https://github.com/apache/camel-spring-boot-examples/tree/master/camel-example-spring-boot-hystrix[camel-example-spring-boot-hystrix]. - -== Using Hystrix with Spring Boot - -See the xref:components:others:hystrix.adoc[Hystrix Component]. - -== Camel's Error Handler and Circuit Breaker EIP - -By default the Circuit Breaker EIP handles errors by itself. This means if the circuit breaker is open and -the message fails, then Camel's error handler is not reacting also. -However, you can enable Camels error handler with circuit breaker by enabling the `inheritErrorHandler` option, as shown: - -[source,java] ----- -// Camel's error handler that will attempt to redeliver the message 3 times -errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(3).redeliveryDelay(0)); - -from("direct:start") - .to("log:start") - // turn on Camel's error handler on circuit breaker so Camel can do redeliveries - .circuitBreaker().inheritErrorHandler(true) - .to("mock:a") - .throwException(new IllegalArgumentException("Forced")) - .end() - .to("log:result") - .to("mock:result"); ----- - -This example is from an unit test, where you can see the Circuit Breaker EIP block has been hardcoded -to always fail by throwing an exception. Because the `inheritErrorHandler` has been enabled, -then Camel's error handler will attempt to call the Circuit Breaker EIP block again. - -That means the `mock:a` endpoint will receive the message again, and a total of 1 + 3 = 4 message -(first time + 3 redeliveries). - -If we turn off the `inheritErrorHandler` option (default) then the Circuit Breaker EIP will only be -executed once because it handled the error itself. - diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nav.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nav.adoc index f4d3d112021..7aeef064486 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nav.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/nav.adoc @@ -31,8 +31,6 @@ ** xref:eips:filter-eip.adoc[Filter] ** xref:eips:from-eip.adoc[From] ** xref:eips:guaranteed-delivery.adoc[Guaranteed Delivery] - ** xref:eips:hystrixConfiguration-eip.adoc[Hystrix Configuration] - ** xref:eips:hystrix-eip.adoc[Hystrix EIP (deprecated)] ** xref:eips:idempotentConsumer-eip.adoc[Idempotent Consumer] ** xref:eips:inOnly-eip.adoc[In Only] ** xref:eips:inOut-eip.adoc[In Out] diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/onFallback-eip.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/onFallback-eip.adoc index c5591970625..5c77d1886b9 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/onFallback-eip.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/onFallback-eip.adoc @@ -21,7 +21,7 @@ The On Fallback EIP supports 1 options which are listed below: |=== // eip options: END -Hystrix has many options as listed in xref:hystrixConfiguration-eip.adoc[Hystrix Configuration]. +Hystrix has many options as listed in Hystrix Configuration. For example to set a higher timeout to *5* seconds, and also let the circuit breaker wait *10* seconds before attempting a request again when the state was tripped to be open. [source,java] diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrix-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrix-eip.adoc deleted file mode 100644 index 2c5ad515b95..00000000000 --- a/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrix-eip.adoc +++ /dev/null @@ -1,149 +0,0 @@ -[[hystrix-eip]] -= Hystrix EIP (deprecated) - -The Hystrix EIP provides integration with Netflix https://github.com/Netflix/Hystrix[Hystrix] to be used as circuit breaker in the Camel routes. Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. - - -[NOTE] -==== -Camel provides the Circuit Breaker EIP in the route model, which allows to plugin different implementations. -Hystrix is one such implementation. -==== - -Maven users will need to add the following dependency to their pom.xml to use this EIP: - -[source,xml] ----- -<dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-hystrix</artifactId> - <version>x.x.x</version><!-- use the same version as your Camel core version --> -</dependency> ----- - -== Configuration options - -// eip options: START -The Hystrix EIP supports 2 options which are listed below: - -[width="100%",cols="2,5,^1,2",options="header"] -|=== -| Name | Description | Default | Type -| *hystrixConfiguration* | Configures the Hystrix EIP Use end when configuration is complete, to return back to the Hystrix EIP. | | HystrixConfigurationDefinition -| *hystrixConfigurationRef* | Refers to a Hystrix configuration to use for configuring the Hystrix EIP. | | String -|=== -// eip options: END - -See xref:hystrixConfiguration-eip.adoc[Hystrix Configuration] for all the configuration options on Hystrix EIP. - -== Samples - -Below is an example route showing an Hystrix endpoint that protects against slow operation by falling back to the in-lined fallback route. By default the timeout request is just *1000ms* so the HTTP endpoint has to be fairly quick to succeed. -[source,java] ----- -from("direct:start") - .circuitBreaker() - .to("http://fooservice.com/slow") - .onFallback() - .transform().constant("Fallback message") - .end() - .to("mock:result"); ----- - -And in XML DSL: -[source,xml] ----- -<camelContext xmlns="http://camel.apache.org/schema/spring"> - <route> - <from uri="direct:start"/> - <circuitBreaker> - <to uri="http://fooservice.com/slow"/> - <onFallback> - <transform> - <constant>Fallback message</constant> - </transform> - </onFallback> - </circuitBreaker> - <to uri="mock:result"/> - </route> -</camelContext> ----- - -== Configuring Hystrix - -You can fine-tune Hystrix by the many xref:hystrixConfiguration-eip.adoc[Hystrix Configuration] options. -For example to use a 2 second execution timeout, you can do as follows: - -[source,java] ----- -from("direct:start") - .circuitBreaker() - // use 2 second timeout - .hystrixConfiguration().executionTimeoutInMilliseconds(2000).end() - .log("Hystrix processing start: ${threadName}") - .toD("direct:${body}") - .log("Hystrix processing end: ${threadName}") - .end() - .log("After Hystrix ${body}"); ----- - -And in XML: - -[source,xml] ----- -<route> - <from uri="direct:start"/> - <circuitBreaker> - <hystrixConfiguration executionTimeoutInMilliseconds="2000"/> - <log message="Hystrix processing start: ${threadName}"/> - <toD uri="direct:${body}"/> - <log message="Hystrix processing end: ${threadName}"/> - </circuitBreaker> - <log message="After Hystrix: ${body}"/> -</route> ----- - -== Fallback - -See xref:onFallback-eip.adoc[onFallback]. - -== Other examples - -You can find an example with the source code: https://github.com/apache/camel-spring-boot-examples/tree/master/camel-example-spring-boot-hystrix[camel-example-spring-boot-hystrix]. - -== Using Hystrix with Spring Boot - -See the xref:components:others:hystrix.adoc[Hystrix Component]. - -== Camel's Error Handler and Circuit Breaker EIP - -By default the Circuit Breaker EIP handles errors by itself. This means if the circuit breaker is open and -the message fails, then Camel's error handler is not reacting also. -However, you can enable Camels error handler with circuit breaker by enabling the `inheritErrorHandler` option, as shown: - -[source,java] ----- -// Camel's error handler that will attempt to redeliver the message 3 times -errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(3).redeliveryDelay(0)); - -from("direct:start") - .to("log:start") - // turn on Camel's error handler on circuit breaker so Camel can do redeliveries - .circuitBreaker().inheritErrorHandler(true) - .to("mock:a") - .throwException(new IllegalArgumentException("Forced")) - .end() - .to("log:result") - .to("mock:result"); ----- - -This example is from an unit test, where you can see the Circuit Breaker EIP block has been hardcoded -to always fail by throwing an exception. Because the `inheritErrorHandler` has been enabled, -then Camel's error handler will attempt to call the Circuit Breaker EIP block again. - -That means the `mock:a` endpoint will receive the message again, and a total of 1 + 3 = 4 message -(first time + 3 redeliveries). - -If we turn off the `inheritErrorHandler` option (default) then the Circuit Breaker EIP will only be -executed once because it handled the error itself. - diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrixConfiguration-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrixConfiguration-eip.adoc deleted file mode 100644 index c357c19b9dc..00000000000 --- a/core/camel-core-engine/src/main/docs/modules/eips/pages/hystrixConfiguration-eip.adoc +++ /dev/null @@ -1,48 +0,0 @@ -[[hystrixConfiguration-eip]] -= Hystrix Configuration EIP (deprecated) -:docTitle: Hystrix Configuration -:description: Hystrix Circuit Breaker EIP configuration -:since: -:supportLevel: Stable-deprecated -:deprecated: *deprecated* - - -// eip options: START -The Hystrix Configuration EIP supports 31 options which are listed below: - -[width="100%",cols="2,5,^1,2",options="header"] -|=== -| Name | Description | Default | Type -| *groupKey* | Sets the group key to use. The default value is CamelHystrix. | CamelHystrix | String -| *threadPoolKey* | Sets the thread pool key to use. Will by default use the same value as groupKey has been configured to use. | CamelHystrix | String -| *circuitBreakerEnabled* | Whether to use a HystrixCircuitBreaker or not. If false no circuit-breaker logic will be used and all requests permitted. This is similar in effect to circuitBreakerForceClosed() except that continues tracking metrics and knowing whether it should be open/closed, this property results in not even instantiating a circuit-breaker. | true | Boolean -| *circuitBreakerErrorThreshold{zwsp}Percentage* | Error percentage threshold (as whole number such as 50) at which point the circuit breaker will trip open and reject requests. It will stay tripped for the duration defined in circuitBreakerSleepWindowInMilliseconds; The error percentage this is compared against comes from HystrixCommandMetrics.getHealthCounts(). | 50 | Integer -| *circuitBreakerForceClosed* | If true the HystrixCircuitBreaker#allowRequest() will always return true to allow requests regardless of the error percentage from HystrixCommandMetrics.getHealthCounts(). The circuitBreakerForceOpen() property takes precedence so if it set to true this property does nothing. | false | Boolean -| *circuitBreakerForceOpen* | If true the HystrixCircuitBreaker.allowRequest() will always return false, causing the circuit to be open (tripped) and reject all requests. This property takes precedence over circuitBreakerForceClosed(); | false | Boolean -| *circuitBreakerRequestVolume{zwsp}Threshold* | Minimum number of requests in the metricsRollingStatisticalWindowInMilliseconds() that must exist before the HystrixCircuitBreaker will trip. If below this number the circuit will not trip regardless of error percentage. | 20 | Integer -| *circuitBreakerSleepWindowIn{zwsp}Milliseconds* | The time in milliseconds after a HystrixCircuitBreaker trips open that it should wait before trying requests again. | 5000 | Integer -| *executionIsolationSemaphoreMax{zwsp}ConcurrentRequests* | Number of concurrent requests permitted to HystrixCommand.run(). Requests beyond the concurrent limit will be rejected. Applicable only when executionIsolationStrategy == SEMAPHORE. | 20 | Integer -| *executionIsolationStrategy* | What isolation strategy HystrixCommand.run() will be executed with. If THREAD then it will be executed on a separate thread and concurrent requests limited by the number of threads in the thread-pool. If SEMAPHORE then it will be executed on the calling thread and concurrent requests limited by the semaphore count. | THREAD | String -| *executionIsolationThread{zwsp}InterruptOnTimeout* | Whether the execution thread should attempt an interrupt (using Future#cancel ) when a thread times out. Applicable only when executionIsolationStrategy() == THREAD. | true | Boolean -| *executionTimeoutInMilliseconds* | Time in milliseconds at which point the command will timeout and halt execution. If executionIsolationThreadInterruptOnTimeout == true and the command is thread-isolated, the executing thread will be interrupted. If the command is semaphore-isolated and a HystrixObservableCommand, that command will get unsubscribed. | 1000 | Integer -| *executionTimeoutEnabled* | Whether the timeout mechanism is enabled for this command | true | Boolean -| *fallbackIsolationSemaphoreMax{zwsp}ConcurrentRequests* | Number of concurrent requests permitted to HystrixCommand.getFallback(). Requests beyond the concurrent limit will fail-fast and not attempt retrieving a fallback. | 10 | Integer -| *fallbackEnabled* | Whether HystrixCommand.getFallback() should be attempted when failure occurs. | true | Boolean -| *metricsHealthSnapshotInterval{zwsp}InMilliseconds* | Time in milliseconds to wait between allowing health snapshots to be taken that calculate success and error percentages and affect HystrixCircuitBreaker.isOpen() status. On high-volume circuits the continual calculation of error percentage can become CPU intensive thus this controls how often it is calculated. | 500 | Integer -| *metricsRollingPercentileBucket{zwsp}Size* | Maximum number of values stored in each bucket of the rolling percentile. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics. | 10 | Integer -| *metricsRollingPercentile{zwsp}Enabled* | Whether percentile metrics should be captured using HystrixRollingPercentile inside HystrixCommandMetrics. | true | Boolean -| *metricsRollingPercentileWindow{zwsp}InMilliseconds* | Duration of percentile rolling window in milliseconds. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics. | 10000 | Integer -| *metricsRollingPercentileWindow{zwsp}Buckets* | Number of buckets the rolling percentile window is broken into. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics. | 6 | Integer -| *metricsRollingStatistical{zwsp}WindowInMilliseconds* | This property sets the duration of the statistical rolling window, in milliseconds. This is how long metrics are kept for the thread pool. The window is divided into buckets and rolls by those increments. | 10000 | Integer -| *metricsRollingStatistical{zwsp}WindowBuckets* | Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside HystrixCommandMetrics. | 10 | Integer -| *requestLogEnabled* | Whether HystrixCommand execution and events should be logged to HystrixRequestLog. | true | Boolean -| *corePoolSize* | Core thread-pool size that gets passed to java.util.concurrent.ThreadPoolExecutor#setCorePoolSize(int) | 10 | Integer -| *maximumSize* | Maximum thread-pool size that gets passed to ThreadPoolExecutor#setMaximumPoolSize(int) . This is the maximum amount of concurrency that can be supported without starting to reject HystrixCommands. Please note that this setting only takes effect if you also set allowMaximumSizeToDivergeFromCoreSize | 10 | Integer -| *keepAliveTime* | Keep-alive time in minutes that gets passed to ThreadPoolExecutor#setKeepAliveTime(long,TimeUnit) | 1 | Integer -| *maxQueueSize* | Max queue size that gets passed to BlockingQueue in HystrixConcurrencyStrategy.getBlockingQueue(int) This should only affect the instantiation of a threadpool - it is not eliglible to change a queue size on the fly. For that, use queueSizeRejectionThreshold(). | -1 | Integer -| *queueSizeRejectionThreshold* | Queue size rejection threshold is an artificial max size at which rejections will occur even if maxQueueSize has not been reached. This is done because the maxQueueSize of a BlockingQueue can not be dynamically changed and we want to support dynamically changing the queue size that affects rejections. This is used by HystrixCommand when queuing a thread for execution. | 5 | Integer -| *threadPoolRollingNumber{zwsp}StatisticalWindowIn{zwsp}Milliseconds* | Duration of statistical rolling window in milliseconds. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance. | 10000 | Integer -| *threadPoolRollingNumber{zwsp}StatisticalWindowBuckets* | Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance. | 10 | Integer -| *allowMaximumSizeToDivergeFrom{zwsp}CoreSize* | Allows the configuration for maximumSize to take effect. That value can then be equal to, or higher, than coreSize | false | Boolean -|=== -// eip options: END diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc index c5591970625..5c77d1886b9 100644 --- a/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc +++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc @@ -21,7 +21,7 @@ The On Fallback EIP supports 1 options which are listed below: |=== // eip options: END -Hystrix has many options as listed in xref:hystrixConfiguration-eip.adoc[Hystrix Configuration]. +Hystrix has many options as listed in Hystrix Configuration. For example to set a higher timeout to *5* seconds, and also let the circuit breaker wait *10* seconds before attempting a request again when the state was tripped to be open. [source,java] diff --git a/docs/components/modules/others/nav.adoc b/docs/components/modules/others/nav.adoc index 0f420a88cfd..c73af571e4d 100644 --- a/docs/components/modules/others/nav.adoc +++ b/docs/components/modules/others/nav.adoc @@ -11,7 +11,6 @@ ** xref:elytron.adoc[Elytron] ** xref:etcd3.adoc[Etcd3] ** xref:headersmap.adoc[Headersmap] -** xref:hystrix.adoc[Hystrix] ** xref:jasypt.adoc[Jasypt] ** xref:jfr.adoc[Jfr] ** xref:jta.adoc[JTA] diff --git a/docs/components/modules/others/pages/hystrix.adoc b/docs/components/modules/others/pages/hystrix.adoc deleted file mode 100644 index a0c4e8c7ae8..00000000000 --- a/docs/components/modules/others/pages/hystrix.adoc +++ /dev/null @@ -1,36 +0,0 @@ -[[hystrix-other]] -= Hystrix Component (deprecated) -//THIS FILE IS COPIED: EDIT THE SOURCE FILE: -:page-source: components/camel-hystrix/src/main/docs/hystrix.adoc -:docTitle: Hystrix -:shortname: hystrix -:artifactId: camel-hystrix -:description: Circuit Breaker EIP using Netflix Hystrix -:since: 2.18 -:supportLevel: Stable-deprecated -:deprecated: *deprecated* -//Manually maintained attributes -:camel-spring-boot-name: hystrix - -*Since Camel {since}* - -The Hystrix component integrates Netflix Hystrix circuit breaker in Camel routes. - -For more details see the Hystrix EIP documentation. - -Maven users will need to add the following dependency to their `pom.xml` -for this component: - -[source,xml] ----- -<dependency> - <groupId>org.apache.camel</groupId> - <artifactId>camel-hystrix</artifactId> - <version>x.x.x</version> - <!-- use the same version as your Camel core version --> -</dependency> ----- - - - -include::spring-boot:partial$starter.adoc[]