camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kristof Sajdak (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (CAMEL-3285) Create a new blackbox component which can encapsulate routes using a specialized ProtocolBuilder endpoint (similar to RouteBuilder)
Date Sun, 30 Jan 2011 11:36:44 GMT

    [ 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/30/11 6:35 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.

In any case, starting the endpoint url with a routebox: scheme or without to me isn't the
biggest  issue.

Something I am concerned with 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 technical people.

perhaps something like :

routebox://bookstore_routes/addToCatalog

where bookstore_routes would resolve to a routeBuilder or a camel context located in 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 people in my opinion.

To me this seems a nice compromise to satisfy the use case I am targetting as well, what do
you think ?

Best regards,

Kristof

      was (Author: kristofsajdak):
    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
  
> 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.


Mime
View raw message