[ 
https://issues.apache.org/jira/browse/CAMEL-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12979333#action_12979333
 ] 

Kristof Sajdak edited comment on CAMEL-3285 at 1/9/11 9:29 AM:
---------------------------------------------------------------

yes, i am aware of various ways  to create a new uri scheme in camel :
A file in the meta-inf, adding it thourgh the API via a routebuilder as you 
described and
also by defining a component as a spring bean if I am not mistaking.

Whether creating your own uri schemes is good or bad depends on the use case I 
guess.
In my case it wouldn't be that much of a problem.

However it is a valid argument and using the routebox: uri scheme to me is not 
a big problem to overcome.
It would just mean some extra typing for the end user.

What might be a problem though is the verboseness of the url and setting the 
dispatch key.
This is a very flexible approach however it might be nice to have some kind of 
alternative way of specifying the logical endpoint
in the routebox, something which is more intuitive to non techies.

perhaps something like :

routebox://bookstore_routes/addToCatalog

where bookstore_routes is a routeBuilder or camel context located the bean 
registry.
A default dispatchStrategy could then dispatch the logical endpoint name to a 
corresponding direct/seda endpoint in the routebox ?
This reduces verboseness quite a lot and makes it more managable and productive 
for the non technical user in my opinion.

What do you think ?

Best regards,

Kristof

      was (Author: kristofsajdak):
    

yes, i am aware of various ways  to create a protocol in camel :
A file in the meta-inf, adding it thourgh the API via a routebuilder as you 
described and
also by defining it as a spring bean if I am not mistaking.

Whether creating your own protocols is good or bad depends on the use case I 
guess.
In my case it wouldn't be that much of a problem.

However it is a valid argument and using the routebox: prefix to me is not a 
big problem to overcome.
It would just mean some extra typing for the end user.

What might be a problem though is the verboseness of the url and setting the 
dispatch key.
This is a very flexible approach however it might be nice to have some kind of 
alternative way of specifying the logical endpoint
in the routebox, something which is more intuitive to non techies.

perhaps something like :

routebox://bookstore_routes/addToCatalog

where bookstore_routes is a routeBuilder or camel context located the bean 
registry.
A default dispatchStrategy could then dispatch the logical endpoint name to a 
corresponding direct/seda endpoint in the routebox ?

What do you think ?

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.

Reply via email to