camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <ra...@apache.org>
Subject Re: New camel-hystrix component
Date Mon, 04 Apr 2016 16:22:56 GMT
That was my exact same thought when I took a stab at the camel-hystrix
component myself:
https://github.com/apache/camel/commits/feature/camel-hystrix.

For me, Hystrix is not an endpoint but a mechanism to deal with failure, no
matter if thrown by an endpoint, a processor, or any other element of a
route.

For Java DSL, I proposed something like:

HystrixComponent hystrix = context.getComponent("hystrix",
HystrixComponent.class);

from("activemq:queue:abc)
         .to(hystrix.wrapper()
                 .forStaticEndpoint("http4://localhost:8080/...", setter)
                 .withFallbackProcessor((exchange) ->
exchange.getIn().setBody("failure!"))
                 .withCacheKey(ExpressionBuilder.bodyExpression())
                 .suppressFallbackForExceptions(DummyException.class)
                 .build());


For XML, we could create a DSL too but it would live in the camel-core
module with a runtime dependency on camel-hystrix and transitives (e.g.
like we do today with the data formats <xstream/>, expression languages
<ognl/>, etc.).

I got stuck with my camel-hystrix component at the stage of integrating
Archaius with the Spring and Blueprint property placeholders.

Cheers,

*Raúl Kripalani*
PMC & Committer @ Apache Ignite, Apache Camel | Integration, Big Data and
Messaging Engineer
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
Blog: raul.io
<http://raul.io/?utm_source=email&utm_medium=email&utm_campaign=apache> |
twitter: @raulvk <https://twitter.com/raulvk>

On Mon, Apr 4, 2016 at 5:07 PM, Preben.Asmussen <pras@dr.dk> wrote:

> Hi bibryam
>
> At first glance it looks a bit intrusive when the usual endpoints are
> 'wrapped' in the hystrix endpoint.
>
> Could it be something like -> psudo code
>
> <camelContext id="hystrix-producer"
> xmlns="http://camel.apache.org/schema/blueprint">
>         <hystrix>
>            <from=&quot;run&quot;/>
>            <fallback=&quot;http4://www.google.com&quot;/>
>             .............. other options
>         </hystrix>
>
>         <route>
>           <from
> uri="timer://local?fixedRate=true&amp;period=50&amp;repeatCount=5"/>
>
>
>           <to id="run" uri="http4://localhost"/>
>
>           <to uri="log:hystrix?level=INFO&amp;showHeaders=true"/>
>       </route>
>   </camelContext>
>
> /Preben
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/New-camel-hystrix-component-tp5770955p5780454.html
> Sent from the Camel Development mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message