You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/07/10 10:37:59 UTC
[jira] [Commented] (CAMEL-3539) Add route endpoint to let end users
send messages to other routes using route scheme naming
[ https://issues.apache.org/jira/browse/CAMEL-3539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13062700#comment-13062700 ]
Claus Ibsen commented on CAMEL-3539:
------------------------------------
IMHO it should be based on the {{routeId}} and not endpoint uri.
To keep it simple we can do
{code:xml}
<route id="sendMail>
<from uri="seda:mail"/>
...
</route>
{code}
And then you can send a message to the route
{code}
template.sendBodyAndHeader("route:sendMail", "Hello this is a mail to send", "to", "someone@somewhere.com");
{code}
The trick is how to send the message to the route, either using a "hidden" direct component. Or some other means of sending the message to the route.
Lets revisit this when we have improved the routing engine to be more dynamic. Then we got better hooks for that
http://camel.apache.org/camel-30-roadmap.html
> Add route endpoint to let end users send messages to other routes using route scheme naming
> -------------------------------------------------------------------------------------------
>
> Key: CAMEL-3539
> URL: https://issues.apache.org/jira/browse/CAMEL-3539
> Project: Camel
> Issue Type: New Feature
> Components: camel-core
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 3.0.0
>
> Attachments: CAMEL-3539.patch
>
>
> For example
> {code:xml}
> ...
> <to uri="route:sendMail"/>
> ...
> {code}
> And then we can have a route for that
> {code:xml}
> <route>
> <from uri="route:sendMail"/>
> ...
> </route>
> {code}
> In reality its just like a {{direct:}} endpoint but using {{route}} as scheme name. And in this case the id of the route will use the name from the uri, so it will name the route {{sendMail}}. Then you dont need to assign an explicit id.
> Now suppose the sendMail route also have another source input such as from a jms queue
> {code:xml}
> <route id="sendMail>
> <from uri="jms:queue:mail.out"/>
> ...
> </route>
> {code}
> This route is now having the id {{sendMail}} which you can send message to using the scheme {{route:sendMail}}.
> But the route also consumes messages from a JMS queue.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira