[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2015-01-21 Thread Rajesh Chitharanjan (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14286273#comment-14286273
 ] 

Rajesh Chitharanjan commented on CAMEL-5539:


Hi Andrew,
Did your implementation work out? We are planning to use Hystrix within Camel 
and I was wondering if you are planning to OSS your implementation.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-10-27 Thread Yves De Moor (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185021#comment-14185021
 ] 

Yves De Moor commented on CAMEL-5539:
-

I would suggest two changes in the current implementation :

1. Ability to call a route when the the circuit is open and not only when it is 
closed (to allow for instance to go further with a degraded mode, or to return 
a functional error, ...). The source code currently add a 
RejectedExecutionException to the exchange. 
I don't know if this is a camel expected behaviour as it is usually thrown to 
reject the execution when camel is shutting down.

2. If change 1 is accepted, we could set the number of failure in the exchange 
so we could for instance react the first time the circuit is open (write to the 
log, send an alert, or whatever else)

What are your opinion ?

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-10-27 Thread Bilgin Ibryam (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185065#comment-14185065
 ] 

Bilgin Ibryam commented on CAMEL-5539:
--

Sounds like a good improvements to add. Feel free to create issues and do PRs

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-10-27 Thread Yves De Moor (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14185200#comment-14185200
 ] 

Yves De Moor commented on CAMEL-5539:
-

Simple, quick and most flexible solution could be :

Put the number of failure in an exchange property.
Put circuit state in an exchange property (2 status : Open / closed, as 
halfOpen do the same as closed in term of business)
use a Content Based Router to perform something like

from(direct:a)
.loadBalance()//
.circuitBreaker(3, 3000L, MyCustomException.class)
.choice()

.when(property(Exchange.CircuitBreaker_state).isEqualTo(closed))
.to(direct:normalMode)

.when(property(Exchange.CircuitBreaker_state).isEqualTo(opened))
.to(direct:degradedMode)
 .end()

from(direct:degradedMode)
.choice()

.when(property(Exchange.CircuitBreaker_errorCount).isEqualTo(1)) //First 
error encountered, send an alert to monitoring
.to(direct:monitorging_alert_degradedMode)
 .end()



I also see the current solution is not enough robust. 
when halfOpen is reached, (System.currentTimeMillis() - lastFailure  
halfOpenAfter) there is no restriction on the number of calls (threads) that 
will perform a retry.

When retry timeout is reached, we should let only 1 thread go in halfOpen 
mode, all other should be kept in open state until an halfOpen succeed.
(will create new issue for this)

Yves.



 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-13 Thread Bilgin Ibryam (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13967887#comment-13967887
 ] 

Bilgin Ibryam commented on CAMEL-5539:
--

My implementation is completed but I'll leave this issue open in case other 
implementation as mentioned above are to be added.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13962295#comment-13962295
 ] 

ASF GitHub Bot commented on CAMEL-5539:
---

GitHub user gzurowski opened a pull request:

https://github.com/apache/camel/pull/131

CAMEL-5539: Fix compilation problems

Fix typo as requested by Bilgin Ibryam bibr...@apache.org.

Signed-off-by: Gregor Zurowski gre...@zurowski.org

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gzurowski/camel CAMEL-5539-FixBuild

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/camel/pull/131.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #131


commit 1949235f1ae94bbd3fc8e7d7f7b6bb1e854ecae1
Author: Gregor Zurowski gre...@zurowski.org
Date:   2014-04-07T21:37:28Z

CAMEL-5539: Fix compilation problems

Fix typo as requested by Bilgin Ibryam bibr...@apache.org.

Signed-off-by: Gregor Zurowski gre...@zurowski.org




 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-07 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13962614#comment-13962614
 ] 

ASF GitHub Bot commented on CAMEL-5539:
---

Github user asfgit closed the pull request at:

https://github.com/apache/camel/pull/131


 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-06 Thread Gregor Zurowski (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13961392#comment-13961392
 ] 

Gregor Zurowski commented on CAMEL-5539:


@[~bibryam]: There are still problems building the project:

==
[...]
[INFO] --- scala-maven-plugin:3.1.6:compile (default) @ camel-scala ---
[INFO] C:\var\git\forks\camel\components\camel-scala\src\main\scala:-1: info: co
mpiling
[INFO] Compiling 43 source files to C:\var\git\forks\camel\components\camel-scal
a\target\classes at 139678566
[ERROR] C:\var\git\forks\camel\components\camel-scala\src\main\scala\org\apache\
camel\scala\dsl\SLoadBalanceDefinition.scala:29: error: not found: value classes
b
[ERROR]   = wrap(target.circuitBreaker(threshold, halfOpenAfter, classesb: _*))
[ERROR]  ^
[ERROR] one error found
[...]
==

See the full build output in the attachment: 
https://issues.apache.org/jira/secure/attachment/12638908/CAMEL-5539-output-82ef800.txt

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output-82ef800.txt, CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-05 Thread Bilgin Ibryam (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13961108#comment-13961108
 ] 

Bilgin Ibryam commented on CAMEL-5539:
--

I've implemented a simple version of circuit breaker pattern a load balancer 
policy. Let me know what you think.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2014-04-05 Thread Gregor Zurowski (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13961307#comment-13961307
 ] 

Gregor Zurowski commented on CAMEL-5539:


@[~bibryam]: It seems that your recent changes break the build:

{code|title=mvn clean install}
[INFO] Scanning for projects...
[INFO]
[INFO] 
[INFO] Building Camel :: Scala 2.14-SNAPSHOT
[INFO] 
[...]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ camel-scala -
--
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- scala-maven-plugin:3.1.6:compile (default) @ camel-scala ---
[INFO] C:\var\git\forks\camel\components\camel-scala\src\main\scala:-1: info: co
mpiling
[INFO] Compiling 43 source files to C:\var\git\forks\camel\components\camel-scal
a\target\classes at 1396749824710
[ERROR] C:\var\git\forks\camel\components\camel-scala\src\main\scala\org\apache\
camel\scala\dsl\SLoadBalanceDefinition.scala:29: error: type mismatch;
[ERROR]  found   : Seq[Class[_]]
[ERROR]  required: Class[_]
[ERROR]   = wrap(target.circuitBreaker(threshold, halfOpenAfter, exceptions))
[ERROR]  ^
[ERROR] one error found
[INFO] 
[INFO] BUILD FAILURE
[INFO] 
[INFO] Total time: 28.319s
[INFO] Finished at: Sat Apr 05 22:04:01 EDT 2014
[INFO] Final Memory: 20M/303M
[INFO] 
[...]
{code}

See full build output attached.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raúl Kripalani
 Fix For: Future

 Attachments: CAMEL-5539-output.txt


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-08-21 Thread Eric Heath (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13745843#comment-13745843
 ] 

Eric Heath commented on CAMEL-5539:
---

Andrew, if you haven't seen https://github.com/Netflix/Hystrix yet, do take a 
look.  The netflix guys have really amazing stuff going on.

You'll find more treats at https://github.com/monitoringsucks as well.

I would also love to see first class support for circuit breakers in camel.  It 
would be dreamy to configure a CBs directly into your routes.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-08-21 Thread Eric Heath (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13745849#comment-13745849
 ] 

Eric Heath commented on CAMEL-5539:
---

These guys are giving it a go as well: 
https://jira.springsource.org/browse/INT-2250
Nothing like some friendly competition I guess...

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-08-19 Thread Andrew Harmel-Law (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13743630#comment-13743630
 ] 

Andrew Harmel-Law commented on CAMEL-5539:
--

We're keen to have this functionality.  We're running 2.11.1, but as of now, 
this isn't available.  Is there a Work-in-Progress version in a milestone that 
we can test against for now?  We're also looking to wire this into our 
monitoring infrastructure (StatsD-based).  Any update would be much 
appreciated.  If we can avoid writing our own code, that'd be great.

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-08-19 Thread David J. M. Karlsen (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13743662#comment-13743662
 ] 

David J. M. Karlsen commented on CAMEL-5539:


Some additional resources:
https://code.google.com/p/kite-lib/wiki/CircuitBreaker
http://dev.hubspot.com/blog/bid/64543/Building-a-Robust-System-Using-the-Circuit-Breaker-Pattern
http://www.amazon.com/Release-It-Production-Ready-Pragmatic-Programmers/dp/0978739213

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-08-19 Thread Andrew Harmel-Law (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13743679#comment-13743679
 ] 

Andrew Harmel-Law commented on CAMEL-5539:
--

Cheers David. We'll take a look (already got the book, but the src sounds 
promising)

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2013-06-16 Thread Ioannis Canellos (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13684693#comment-13684693
 ] 

Ioannis Canellos commented on CAMEL-5539:
-

A must have!

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: Future


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (CAMEL-5539) Circuit Breaker EIP

2012-09-19 Thread Raul Kripalani (JIRA)

[ 
https://issues.apache.org/jira/browse/CAMEL-5539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13459237#comment-13459237
 ] 

Raul Kripalani commented on CAMEL-5539:
---

A few initial thoughts on the design of this new EIP:

* The EIP should wrap around an endpoint or a processor. It's important to 
cover Processors too because frequently the access external resources (DBs or 
callouts to partnerlinks).
* By default, it'll be sensitive to all exceptions, but the user can limit the 
scope by specifying what exceptions to cover, using the exception / DSL.
* Possible transitions: Closed = Open, Open = HalfOpen, HalfOpen = Open, 
HalfOpen = Closed. The user may configure actions for each transition:
** throw an exception, applicable to Closed = Open, Open = HalfOpen
** invoke another endpoint (e.g. to notify that a transition has happened), or 
to take an alternative route, applicable to all transitions
* As David suggests, the algorithm must be pluggable; the strategy interface 
must be notified twice: before and after an exchange is processed.

Two options spring to mind with respect to the interaction between the Strategy 
and the EIP itself:
# The strategy gets a control class (the circuit breaker itself) via a setter. 
It must use this control class to signal when a transition occurs. 'Before' and 
'after' callbacks just to do accountancy. When thresholds are surpassed, the 
appropriate method in the circuit breaker must be called to signal the 
transition.
# 'Before' and 'after' methods return transition enumeration elements to the 
Circuit Breaker control class, and the Circuit Breaker decides what to do 
depending on the transition taken. A possible transition is None.
** E.g.: the 'after' method returning Transition.ClosedToOpen means that the 
failure threshold was exceeded. From then on, all 'before' invocations would 
return Transition.None and the EIP will refrain from sending to the 
endpoint/processor. When state changes to HalfOpen, the EIP will continue 
dispatching to the endpoint. If the endpoint fails again, the 'after' method 
should see an Exception in the Exchange and return Transition.Open again, and 
so the story goes.

Please feel free to comment to provide your valuable proposals ;)

 Circuit Breaker EIP
 ---

 Key: CAMEL-5539
 URL: https://issues.apache.org/jira/browse/CAMEL-5539
 Project: Camel
  Issue Type: New Feature
  Components: camel-core, eip
Reporter: Claus Ibsen
Assignee: Raul Kripalani
 Fix For: 2.11.0


 Look at add the circuit breaker EIP to the Camel DSL.
 http://davybrion.com/blog/2008/05/the-circuit-breaker/
 Would need some thoughts for that though. Either as an explicit in the DSL. 
 Or as a interceptor for sending to an endpoint. As explicit its a kind to the 
 load balancer (in fact it may be extended upon that). Either the LB selects 
 the intended target, or it select the breaker, which rejects executing the 
 message.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira