camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-2169) Support identifiers for Camel routes
Date Fri, 13 Nov 2009 12:34:52 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55398#action_55398
] 

Claus Ibsen commented on CAMEL-2169:
------------------------------------

You write

in order to get a message from

targetService="person:receiver" (see http:consumer)

a camel user should write

<camel:route id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">


======================
First of all the above is wrong - you HAVE to use from in Camel to specify the route INPUTs.


<route>
  <from url="jbi:XXX:{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
 ...
</route>

And you may not be aware a Camel route can have *multiple* inputs
<route>
  <from xxx>
  <from yyyy>
</route>

It is *all* in the hands on the SMX side how they want their URL syntax to be.

If SMX decided if you could use short hand URLs then maybe you could write
<route>
  <from url="jbi:person:receiver">
  ...
</route>

But JBI is rather complex and has long syntax (maybe because of its WSDL and XML inspirations
+ namespace).
And I guess it must be able to decide what the namespace for {{person}} is. And how should
it lookup that?


And have you actually tried any of the other supported URL syntax it offers, according to
the link I posted?


> Support identifiers for Camel routes
> ------------------------------------
>
>                 Key: CAMEL-2169
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2169
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.2.0
>            Reporter: Sergey Beryozkin
>
> Camel routes embedded in camel contexts have no identifiers thus for a route to kick
in it has to start (in some cases at least) from a "from:" rule. Example from a route working
in SMX/JBI :
> <camel:camelContext>
> 	  <camel:route>
> 	     <camel:from uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/receiver/endpoint"
/>
>              <camel:to uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
/>
>           </camel:route>
> </camel:camelContext>
> The problem is that it makes a given route definition 'unportable' and requires a Camel
developer to know some cryptic details like the fully qualified name of the internal JBI endpoint.
> If I could do something like
> <camel:camelContext>
> 	  <camel:route id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
>              <camel:to uri="jbi:endpoint:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
/>
>           </camel:route>
> </camel:camelContext>
> then I'd be able to delegate to it easily from some other JBI endpoint, using targetService="person:endpoint"
> Likewise, camel routes could delegate to other routes :
> <camel:route id="{http://servicemix.apache.org/samples/wsdl-first/receiver}endpoint">
>              <camel:to uri="route:http://servicemix.apache.org/samples/wsdl-first/staticlistener/staticendpoint"
/>
> </camel:route>

-- 
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