[
https://issues.apache.org/jira/browse/CAMEL-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12976524#action_12976524
]
Kristof Sajdak commented on CAMEL-3285:
---------------------------------------
Hi Ashwin,
Browsed through the codebase just now.
It looks quite flexible, however I feel it might not be a good fit for the use
case which I described a while back in the camel users thread
(http://camel.465427.n5.nabble.com/Abstracting-Routes-using-Components-td3234703.html).
To illustrate my point I would like to use the routebuilder which you have
defined as part of your unit tests in the camel-routebox sources.
// Routes
from("seda:addToCatalog")
.to("log:Received request for seda:addToCatalog")
.to("bean:library?method=addToCatalog");
from("seda:findBook")
.to("log:Received request for seda:findBook")
.to("bean:library?method=findBook");
from("seda:findAuthor")
.to("log:Received request for seda:findAuthor")
.to("bean:library?method=findAuthor");
using the routebox component to address these routes it could look like the
following :
<route>
<from uri="direct://start"/>
<setHeader headerName="ROUTE_DISPATCH_KEY">
<constant>addToCatalog</constant>
</setHeader>
<to
uri="routebox:multipleRoutes?routeBuilders=#bookRoutes&dispatchStrategy=#strategy"/>
</route>
This is a little bit complex when you would have to explain this to non
technical person.
In such a case the syntax described in the camel users thread would be more
intuitive in my opinion :
<route>
<from uri="direct://start"/>
<to uri="book://addtoCatalog"/>
</route>
Best regards,
Kristof
> Create a new blackbox component which can encapsulate routes using a
> specialized ProtocolBuilder endpoint (similar to RouteBuilder)
> -----------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-3285
> URL: https://issues.apache.org/jira/browse/CAMEL-3285
> Project: Camel
> Issue Type: New Feature
> Reporter: Ashwin Karpe
> Assignee: Ashwin Karpe
> Fix For: 2.6.0
>
> Attachments: camel-routebox-20101220.zip, routebox.diff
>
>
> Given below is the discussion forum thread that spawned this thought.
> http://camel.465427.n5.nabble.com/Abstracting-Routes-using-Components-td3234703.html#a3234703
> Component requirements:
> Need a Camel component (called Backbox, maybe) that can nicely expose a
> ProtocolBuilder endpoint that does the following
> a> Instantiate route definitions/route(s) configured in Spring or DSL at
> startup
> b> Launch a Producer or Consumer with a well known protocol(s) so that a
> client can invoke it (could be direct or seda initially but could be any
> protocol... really) . Must support multiple consumer endpoints and routes
> using a URI scheme.
> c> redirect received payloads (with marshalling into an exchange if
> necessary) to the inner route(s) since they are launched and started. If
> there are multiple inner routes with many consumers, we could expect the user
> to provide a clue using the payload and/or an exchange property as to how the
> payload should be routed.
> d> Extend from a Default Consumer, Producer, Endpoint and Component.
> e> Internally manage inner route lifecycles and operations.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.