You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "S. Ali Tokmen" <sa...@bull.net> on 2008/12/01 16:25:03 UTC

Registry/Repository support in CAMEL

Hello

I've been doing a lot of CAMEL-related architecture reading, code 
analysing and debugging these days and finally came up with a Registry 
which is kind of working. Here's how I proceed, any remarks are of 
course welcome:

   1. The registry works this way:
          * What I call "registry" is simply a mapping between keys and
            values.
          * Keys represent logical names, for example "loginWebService"
          * Values represent technical names, for example
            "http://security:9000/services/login/2.1/"
          * The main method the registry has is "lookup", which returns
            the technical name for the given logical name
   2. The CAMEL component doing lookups on that registry is the
      following class:

      public class RegistryComponent implements Component<Exchange> {

      [getters, setters, ...]

          @SuppressWarnings("unchecked")
          public Endpoint<Exchange> createEndpoint(String name) throws
      Exception {
              *// Name is registry:logicalName. Only keep the logicalName*
              String logicalName = name.substring(0, name.indexOf(':') + 1);
              *// Look up for the logicalName*
              String technicalName = this.registry.lookup(logicalName);
              *// technicalName is scheme:path*
              *// For example jms:queue:myQueue has as scheme jms*
              String scheme = technicalName.substring(0,
      technicalName.indexOf(':'));
              return context.getComponent(scheme).createEndpoint(name);
          }
      }
   3. Let's now assume we have:
          * A registry containing the following link: queue1 ->
            jms:queue:myQueue
          * The camel-context.xml file defining the following bean:
            <bean id="registry" class="test.RegistryComponent"/>
          * An endpoint with url: registry:queue1
   4. When CAMEL looks for the endpoint registry:queue1
         1. It automatically finds out that the registry protocol links
            with the RegistryComponent class (thanks to the
            configuration in camel-context.xml).
         2. Since the RegistryComponent class is a Component, CAMEL will
            always call its createEndpoint method:
                * name is "registry:queue1"
                * logicalName is "queue1"
                * technicalName for the logicalName "queue1" is
                  "jms:queue:myQueue"
                * scheme is "jms"
                * context.getComponent("jms") will return the JMS component
                * createEndpoint will return the associated endpoint
                  (JMS Queue instance)
   5. When CAMEL looks for any endpoint that doesn't start with
      registry, the RegistryComponent is not used.

What do you think? Any comments?

Cheers

-- 

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com


Re: Registry/Repository support in CAMEL

Posted by James Strachan <ja...@gmail.com>.
2008/12/2 S. Ali Tokmen <sa...@bull.net>:
> Hello again
>
> James Strachan a écrit :
>>
>> I've just modified the RefComponent to make it easier to derive from;
>> just derive and override the lookupEndpoint() method and then you
>> don't have to mess with the URI. Though its not a huge biggie - its a
>> fairly marginal reuse of code :)
>>
>
> Implementation OK with the latest SVN trunk. But now I have two minor
> issues:
>
>  1. Is there any Maven dependency I can include for that new version
>     you've created?

2.0-SNAPSHOT


>  2. When will a stable CAMEL version with that dependency be out? I
>     require a release before christmas.

As an interim measure, you might want to cut-n-paste the RefComponent
into your code and use that until there's a new release containing it
(then you can delete your local copy)

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Hello

JIRA reference is http://issues.apache.org/activemq/browse/CAMEL-1137

I put as "fix version" version 1.5.1.

By the way, when is CAMEL 1.5.1 expected to be out?

Thanks

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com



Claus Ibsen a écrit :
> Hi
>
> Could you create a ticket in JIRA that you want this ref component fix
> in 1.5.1 release also. James have only patched the 2.0 that will not
> be released until next year.
>
> The SVN rev number is:
> Author: jstrachan
> Date: Tue Dec  2 02:36:15 2008
> New Revision: 722415
>
> URL: http://svn.apache.org/viewvc?rev=722415&view=rev
> Log:
> minor refactor of RefComponent so it can be used as a base class for
> RegistryComponent. See
> http://www.nabble.com/Registry-Repository-support-in-CAMEL-td20774062s22882.html
>
>
> /Claus Ibsen
> Apache Camel Committer
> Blog: http://davsclaus.blogspot.com/
>
>
>
> On Tue, Dec 2, 2008 at 1:36 PM, S. Ali Tokmen <sa...@bull.net> wrote:
>   
>> Hello again
>>
>> James Strachan a écrit :
>>     
>>> I've just modified the RefComponent to make it easier to derive from;
>>> just derive and override the lookupEndpoint() method and then you
>>> don't have to mess with the URI. Though its not a huge biggie - its a
>>> fairly marginal reuse of code :)
>>>
>>>       
>> Implementation OK with the latest SVN trunk. But now I have two minor
>> issues:
>>
>>  1. Is there any Maven dependency I can include for that new version
>>     you've created?
>>  2. When will a stable CAMEL version with that dependency be out? I
>>     require a release before christmas.
>>
>> Thank you
>>
>> S. Ali Tokmen
>> savas-ali.tokmen@bull.net
>>
>> Office: +33 4 76 29 76 19
>> GSM:    +33 66 43 00 555
>>
>> Bull, Architect of an Open World TM
>> http://www.bull.com
>>
>>
>>
>>     
>
>
>
>   


Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Never mind. I closed it and marked as "fixed".

JIRA reference https://issues.apache.org/activemq/browse/CAMEL-1137

Thanks

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com



S. Ali Tokmen a écrit :
> Oops
>
> You can close my issue then, marking as "invalid" with the commit number
>
> Sorry for my non-closely-following
>
> S. Ali Tokmen
> savas-ali.tokmen@bull.net
>
> Office: +33 4 76 29 76 19
> GSM:    +33 66 43 00 555
>
> Bull, Architect of an Open World TM
> http://www.bull.com
>
>
>
> Claus Ibsen a écrit :
>> Hi
>>
>> Hold on.
>>
>> I have patched the 1.5.1 as well. And we talked about releasing a
>> 1.5.1 release before christmas.
>> Committed revision 722451.
>>
>>
>> /Claus Ibsen
>> Apache Camel Committer
>> Blog: http://davsclaus.blogspot.com/
>>
>>
>>
>> On Tue, Dec 2, 2008 at 1:40 PM, Claus Ibsen <cl...@gmail.com> 
>> wrote:
>>  
>>> Hi
>>>
>>> Could you create a ticket in JIRA that you want this ref component fix
>>> in 1.5.1 release also. James have only patched the 2.0 that will not
>>> be released until next year.
>>>
>>> The SVN rev number is:
>>> Author: jstrachan
>>> Date: Tue Dec  2 02:36:15 2008
>>> New Revision: 722415
>>>
>>> URL: http://svn.apache.org/viewvc?rev=722415&view=rev
>>> Log:
>>> minor refactor of RefComponent so it can be used as a base class for
>>> RegistryComponent. See
>>> http://www.nabble.com/Registry-Repository-support-in-CAMEL-td20774062s22882.html 
>>>
>>>
>>>
>>> /Claus Ibsen
>>> Apache Camel Committer
>>> Blog: http://davsclaus.blogspot.com/
>>>
>>>
>>>
>>> On Tue, Dec 2, 2008 at 1:36 PM, S. Ali Tokmen 
>>> <sa...@bull.net> wrote:
>>>    
>>>> Hello again
>>>>
>>>> James Strachan a écrit :
>>>>      
>>>>> I've just modified the RefComponent to make it easier to derive from;
>>>>> just derive and override the lookupEndpoint() method and then you
>>>>> don't have to mess with the URI. Though its not a huge biggie - its a
>>>>> fairly marginal reuse of code :)
>>>>>
>>>>>         
>>>> Implementation OK with the latest SVN trunk. But now I have two minor
>>>> issues:
>>>>
>>>>  1. Is there any Maven dependency I can include for that new version
>>>>     you've created?
>>>>  2. When will a stable CAMEL version with that dependency be out? I
>>>>     require a release before christmas.
>>>>
>>>> Thank you
>>>>
>>>> S. Ali Tokmen
>>>> savas-ali.tokmen@bull.net
>>>>
>>>> Office: +33 4 76 29 76 19
>>>> GSM:    +33 66 43 00 555
>>>>
>>>> Bull, Architect of an Open World TM
>>>> http://www.bull.com
>>>>
>>>>
>>>>
>>>>       
>>
>>
>>
>>   
>
>
>
>


Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Oops

You can close my issue then, marking as "invalid" with the commit number

Sorry for my non-closely-following

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com



Claus Ibsen a écrit :
> Hi
>
> Hold on.
>
> I have patched the 1.5.1 as well. And we talked about releasing a
> 1.5.1 release before christmas.
> Committed revision 722451.
>
>
> /Claus Ibsen
> Apache Camel Committer
> Blog: http://davsclaus.blogspot.com/
>
>
>
> On Tue, Dec 2, 2008 at 1:40 PM, Claus Ibsen <cl...@gmail.com> wrote:
>   
>> Hi
>>
>> Could you create a ticket in JIRA that you want this ref component fix
>> in 1.5.1 release also. James have only patched the 2.0 that will not
>> be released until next year.
>>
>> The SVN rev number is:
>> Author: jstrachan
>> Date: Tue Dec  2 02:36:15 2008
>> New Revision: 722415
>>
>> URL: http://svn.apache.org/viewvc?rev=722415&view=rev
>> Log:
>> minor refactor of RefComponent so it can be used as a base class for
>> RegistryComponent. See
>> http://www.nabble.com/Registry-Repository-support-in-CAMEL-td20774062s22882.html
>>
>>
>> /Claus Ibsen
>> Apache Camel Committer
>> Blog: http://davsclaus.blogspot.com/
>>
>>
>>
>> On Tue, Dec 2, 2008 at 1:36 PM, S. Ali Tokmen <sa...@bull.net> wrote:
>>     
>>> Hello again
>>>
>>> James Strachan a écrit :
>>>       
>>>> I've just modified the RefComponent to make it easier to derive from;
>>>> just derive and override the lookupEndpoint() method and then you
>>>> don't have to mess with the URI. Though its not a huge biggie - its a
>>>> fairly marginal reuse of code :)
>>>>
>>>>         
>>> Implementation OK with the latest SVN trunk. But now I have two minor
>>> issues:
>>>
>>>  1. Is there any Maven dependency I can include for that new version
>>>     you've created?
>>>  2. When will a stable CAMEL version with that dependency be out? I
>>>     require a release before christmas.
>>>
>>> Thank you
>>>
>>> S. Ali Tokmen
>>> savas-ali.tokmen@bull.net
>>>
>>> Office: +33 4 76 29 76 19
>>> GSM:    +33 66 43 00 555
>>>
>>> Bull, Architect of an Open World TM
>>> http://www.bull.com
>>>
>>>
>>>
>>>       
>
>
>
>   


Re: Registry/Repository support in CAMEL

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Hold on.

I have patched the 1.5.1 as well. And we talked about releasing a
1.5.1 release before christmas.
Committed revision 722451.


/Claus Ibsen
Apache Camel Committer
Blog: http://davsclaus.blogspot.com/



On Tue, Dec 2, 2008 at 1:40 PM, Claus Ibsen <cl...@gmail.com> wrote:
> Hi
>
> Could you create a ticket in JIRA that you want this ref component fix
> in 1.5.1 release also. James have only patched the 2.0 that will not
> be released until next year.
>
> The SVN rev number is:
> Author: jstrachan
> Date: Tue Dec  2 02:36:15 2008
> New Revision: 722415
>
> URL: http://svn.apache.org/viewvc?rev=722415&view=rev
> Log:
> minor refactor of RefComponent so it can be used as a base class for
> RegistryComponent. See
> http://www.nabble.com/Registry-Repository-support-in-CAMEL-td20774062s22882.html
>
>
> /Claus Ibsen
> Apache Camel Committer
> Blog: http://davsclaus.blogspot.com/
>
>
>
> On Tue, Dec 2, 2008 at 1:36 PM, S. Ali Tokmen <sa...@bull.net> wrote:
>> Hello again
>>
>> James Strachan a écrit :
>>>
>>> I've just modified the RefComponent to make it easier to derive from;
>>> just derive and override the lookupEndpoint() method and then you
>>> don't have to mess with the URI. Though its not a huge biggie - its a
>>> fairly marginal reuse of code :)
>>>
>>
>> Implementation OK with the latest SVN trunk. But now I have two minor
>> issues:
>>
>>  1. Is there any Maven dependency I can include for that new version
>>     you've created?
>>  2. When will a stable CAMEL version with that dependency be out? I
>>     require a release before christmas.
>>
>> Thank you
>>
>> S. Ali Tokmen
>> savas-ali.tokmen@bull.net
>>
>> Office: +33 4 76 29 76 19
>> GSM:    +33 66 43 00 555
>>
>> Bull, Architect of an Open World TM
>> http://www.bull.com
>>
>>
>>
>

Re: Registry/Repository support in CAMEL

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Could you create a ticket in JIRA that you want this ref component fix
in 1.5.1 release also. James have only patched the 2.0 that will not
be released until next year.

The SVN rev number is:
Author: jstrachan
Date: Tue Dec  2 02:36:15 2008
New Revision: 722415

URL: http://svn.apache.org/viewvc?rev=722415&view=rev
Log:
minor refactor of RefComponent so it can be used as a base class for
RegistryComponent. See
http://www.nabble.com/Registry-Repository-support-in-CAMEL-td20774062s22882.html


/Claus Ibsen
Apache Camel Committer
Blog: http://davsclaus.blogspot.com/



On Tue, Dec 2, 2008 at 1:36 PM, S. Ali Tokmen <sa...@bull.net> wrote:
> Hello again
>
> James Strachan a écrit :
>>
>> I've just modified the RefComponent to make it easier to derive from;
>> just derive and override the lookupEndpoint() method and then you
>> don't have to mess with the URI. Though its not a huge biggie - its a
>> fairly marginal reuse of code :)
>>
>
> Implementation OK with the latest SVN trunk. But now I have two minor
> issues:
>
>  1. Is there any Maven dependency I can include for that new version
>     you've created?
>  2. When will a stable CAMEL version with that dependency be out? I
>     require a release before christmas.
>
> Thank you
>
> S. Ali Tokmen
> savas-ali.tokmen@bull.net
>
> Office: +33 4 76 29 76 19
> GSM:    +33 66 43 00 555
>
> Bull, Architect of an Open World TM
> http://www.bull.com
>
>
>

Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Hello again

James Strachan a écrit :
> I've just modified the RefComponent to make it easier to derive from;
> just derive and override the lookupEndpoint() method and then you
> don't have to mess with the URI. Though its not a huge biggie - its a
> fairly marginal reuse of code :)
>   
Implementation OK with the latest SVN trunk. But now I have two minor 
issues:

   1. Is there any Maven dependency I can include for that new version
      you've created?
   2. When will a stable CAMEL version with that dependency be out? I
      require a release before christmas.

Thank you

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com



Re: Registry/Repository support in CAMEL

Posted by James Strachan <ja...@gmail.com>.
2008/12/2 S. Ali Tokmen <sa...@bull.net>:
> Hello
>
> James Strachan a écrit :
>>
>> Just refer to endpoints called "ref:someName" and it'll look up
>> "someName" in the registry (JNDI or Spring etc)
>>
>
> OK, I got it... And how do I "register" with the RefComponent so that it
> asks my resolver for resolving names.

Your RegistryComponent would just extend RefComponent. Then to
register the RegistryComponent into the CamelContext you'd either call
CamelContext.addComponent(name, component) or use the inbuilt
discovery mechanism using /META-INF/services as described here...
http://activemq.apache.org/camel/writing-components.html


>> I guess all I really meant was we could derive from RefComponent so we
>> can reuse the sameURI mangling (removing the components scheme and
>> then calling some strategy method to allow derived classes to
>> transform the logical name to a physical name) then folks can have
>> multiple implementations of the strategy method; e.g. RefComponent
>> looks up an endpoint in the CamelContext's Registry (JNDI or Spring);
>> we could have a JNDIComponent which uses a configured JNDI context
>> which could work for LDAP etc. Ditto an OSGi component using the OSGi
>> registry etc.
>>  No biggie though - however its implemented this sounds great :)
>>
>
> Great is good. But I would like to make sure I've done the best possible for
> integration with the existing CAMEL infrastructure.

I've just modified the RefComponent to make it easier to derive from;
just derive and override the lookupEndpoint() method and then you
don't have to mess with the URI. Though its not a huge biggie - its a
fairly marginal reuse of code :)

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Hello

James Strachan a écrit :
> Just refer to endpoints called "ref:someName" and it'll look up
> "someName" in the registry (JNDI or Spring etc)
>   
OK, I got it... And how do I "register" with the RefComponent so that it 
asks my resolver for resolving names.

> I guess all I really meant was we could derive from RefComponent so we
> can reuse the sameURI mangling (removing the components scheme and
> then calling some strategy method to allow derived classes to
> transform the logical name to a physical name) then folks can have
> multiple implementations of the strategy method; e.g. RefComponent
> looks up an endpoint in the CamelContext's Registry (JNDI or Spring);
> we could have a JNDIComponent which uses a configured JNDI context
> which could work for LDAP etc. Ditto an OSGi component using the OSGi
> registry etc.
>   
> No biggie though - however its implemented this sounds great :)
>   
Great is good. But I would like to make sure I've done the best possible 
for integration with the existing CAMEL infrastructure.

Thank you for your time

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com




Re: Registry/Repository support in CAMEL

Posted by James Strachan <ja...@gmail.com>.
2008/12/1 S. Ali Tokmen <sa...@bull.net>:
> Hello
>
> James Strachan a écrit :
>>
>> 2008/12/1 S. Ali Tokmen <sa...@bull.net>:
>>  BTW we've already got the Registry in CamelContext which wraps up
>> either JNDI or Spring. My first reaction was it might be worth looking
>> in that first before explicitly creating the endpoint; but I think the
>> default implementation of createEndpoint() will do that for you. e.g.
>> if you configured the endpoint "jms:someQueue" in Spring/Java/JNDI
>> then Camel should do the right thing I think so I don't think the
>> Registry component needs to worry about this.
>>
>
> That's why it's not my Registry implementation does the lookup. It just
> fetches the technical name (for example, a JNDI name for a JMS queue) for a
> URI and then asks CAMEL to create an endpoint with that.
>
> The only "weird-looking" part is when I get the component based on the
> scheme...
>>
>> Incidentally we have the ref component (RefComponent) which you could
>> maybe use to derive which could then use an alternative registry
>> implementation?
>>
>
> That's a nice idea. The only limitation I see with it is that the registry's
> prefix would have to be set to "ref:", which is an acceptable one.
>
> How do I use the RefComponent?

Just refer to endpoints called "ref:someName" and it'll look up
"someName" in the registry (JNDI or Spring etc)

I guess all I really meant was we could derive from RefComponent so we
can reuse the sameURI mangling (removing the components scheme and
then calling some strategy method to allow derived classes to
transform the logical name to a physical name) then folks can have
multiple implementations of the strategy method; e.g. RefComponent
looks up an endpoint in the CamelContext's Registry (JNDI or Spring);
we could have a JNDIComponent which uses a configured JNDI context
which could work for LDAP etc. Ditto an OSGi component using the OSGi
registry etc.

No biggie though - however its implemented this sounds great :)

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/

Re: Registry/Repository support in CAMEL

Posted by "S. Ali Tokmen" <sa...@bull.net>.
Hello

James Strachan a écrit :
> 2008/12/1 S. Ali Tokmen <sa...@bull.net>:
>   
> BTW we've already got the Registry in CamelContext which wraps up
> either JNDI or Spring. My first reaction was it might be worth looking
> in that first before explicitly creating the endpoint; but I think the
> default implementation of createEndpoint() will do that for you. e.g.
> if you configured the endpoint "jms:someQueue" in Spring/Java/JNDI
> then Camel should do the right thing I think so I don't think the
> Registry component needs to worry about this.
>   
That's why it's not my Registry implementation does the lookup. It just 
fetches the technical name (for example, a JNDI name for a JMS queue) 
for a URI and then asks CAMEL to create an endpoint with that.

The only "weird-looking" part is when I get the component based on the 
scheme...
> Incidentally we have the ref component (RefComponent) which you could
> maybe use to derive which could then use an alternative registry
> implementation?
>   
That's a nice idea. The only limitation I see with it is that the 
registry's prefix would have to be set to "ref:", which is an acceptable 
one.

How do I use the RefComponent?

Thanks

-- 

S. Ali Tokmen
savas-ali.tokmen@bull.net

Office: +33 4 76 29 76 19
GSM:    +33 66 43 00 555

Bull, Architect of an Open World TM
http://www.bull.com




Re: Registry/Repository support in CAMEL

Posted by James Strachan <ja...@gmail.com>.
2008/12/1 S. Ali Tokmen <sa...@bull.net>:
> Hello
>
> I've been doing a lot of CAMEL-related architecture reading, code analysing
> and debugging these days and finally came up with a Registry which is kind
> of working. Here's how I proceed, any remarks are of course welcome:
>
>  1. The registry works this way:
>         * What I call "registry" is simply a mapping between keys and
>           values.
>         * Keys represent logical names, for example "loginWebService"
>         * Values represent technical names, for example
>           "http://security:9000/services/login/2.1/"
>         * The main method the registry has is "lookup", which returns
>           the technical name for the given logical name
>  2. The CAMEL component doing lookups on that registry is the
>     following class:
>
>     public class RegistryComponent implements Component<Exchange> {
>
>     [getters, setters, ...]
>
>         @SuppressWarnings("unchecked")
>         public Endpoint<Exchange> createEndpoint(String name) throws
>     Exception {
>             *// Name is registry:logicalName. Only keep the logicalName*
>             String logicalName = name.substring(0, name.indexOf(':') + 1);
>             *// Look up for the logicalName*
>             String technicalName = this.registry.lookup(logicalName);
>             *// technicalName is scheme:path*
>             *// For example jms:queue:myQueue has as scheme jms*
>             String scheme = technicalName.substring(0,
>     technicalName.indexOf(':'));
>             return context.getComponent(scheme).createEndpoint(name);
>         }
>     }
>  3. Let's now assume we have:
>         * A registry containing the following link: queue1 ->
>           jms:queue:myQueue
>         * The camel-context.xml file defining the following bean:
>           <bean id="registry" class="test.RegistryComponent"/>
>         * An endpoint with url: registry:queue1
>  4. When CAMEL looks for the endpoint registry:queue1
>        1. It automatically finds out that the registry protocol links
>           with the RegistryComponent class (thanks to the
>           configuration in camel-context.xml).
>        2. Since the RegistryComponent class is a Component, CAMEL will
>           always call its createEndpoint method:
>               * name is "registry:queue1"
>               * logicalName is "queue1"
>               * technicalName for the logicalName "queue1" is
>                 "jms:queue:myQueue"
>               * scheme is "jms"
>               * context.getComponent("jms") will return the JMS component
>               * createEndpoint will return the associated endpoint
>                 (JMS Queue instance)
>  5. When CAMEL looks for any endpoint that doesn't start with
>     registry, the RegistryComponent is not used.
>
> What do you think? Any comments?

Looks great! :)

BTW we've already got the Registry in CamelContext which wraps up
either JNDI or Spring. My first reaction was it might be worth looking
in that first before explicitly creating the endpoint; but I think the
default implementation of createEndpoint() will do that for you. e.g.
if you configured the endpoint "jms:someQueue" in Spring/Java/JNDI
then Camel should do the right thing I think so I don't think the
Registry component needs to worry about this.

Incidentally we have the ref component (RefComponent) which you could
maybe use to derive which could then use an alternative registry
implementation?

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://fusesource.com/