You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by jb...@nanthrax.net on 2009/02/03 14:18:25 UTC

Re: [DISCUSS] Implement protocol related components in Camel [WAS] Re: [Proposal] New components

Guys,

I have begun the servicemix-ldap component :
http://svn.nanthrax.net/servicemix-ldap/trunk/

My purpose is to compare with the Camel LDAP component and investigate how it's possible to use a common part.
So, it's a kind of prototype to 
1/ provide a LDAP component :)
2/ investigate and test how Camel and SMX components can be shared

Regards
JB

PS : for now, I have put the source code on my svn repository. I will commit on the ASF one as soons as possible.

On Monday 02 February 2009 - 19:25, Guillaume Nodet wrote:
> This should not be too complicated to implement if needed.
> 
> The idea in JBI is that service assemblies (aka routes un camel) have
> three real states: started, stopped and shutdown.
> Started means that all endpoints are fully operational.  Shutdown
> means that no exchanges will be processed.  The stopped state is the
> interesting one: consumer endpoints will not accept any new requests
> from the outside world but will still process existing requests. Other
> provider endpoints fully process requets.  The goal is to ensure an
> orderly shut down of assemblies and not loose any messages.  For
> example a jms consumer will stop consuming jms messages from the
> queue, but will still enqueue responses when they come back from the
> route.
> 
> If we are to support that in camel, we should do it in a way that we
> can easily control the lifecycle of mixed applications (if you mix
> servicemix endpoints and camel routes).
> 
> On 02/02/2009, James Strachan <ja...@gmail.com> wrote:
> > 2009/2/2 Guillaume Nodet <gn...@gmail.com>:
> >> It might be doable.  I guess the way to do that would be to define the
> >> JBI endpoint as a wrapper to a camel endpoint.  When the JBI endpoint
> >> would be initialized / started, a camel route would be created for it.
> >>  Not sure how well camel endpoints can handle the JBI lifecycle where
> >> new requests are not accepted, but existing exchanges are still
> >> processed until completion (for a consumer endpoint).
> >
> > Could you give an example of a well behaving JBI endpoint that does
> > this? I wonder how hard this would be to add; either at the
> > Camel-Endpoint-As-JBI-Endpoint wrapper or inside Camel etc
> >
> > --
> > James
> > -------
> > http://macstrac.blogspot.com/
> >
> > Open Source Integration
> > http://fusesource.com/
> >
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com

Re: [DISCUSS] Implement protocol related components in Camel [WAS] Re: [Proposal] New components

Posted by Hadrian Zbarcea <hz...@gmail.com>.
I think the path Gert, Guillaume anad James suggested to make Camel  
endpoints well behaved citizens in SMX is the right thing to do.  I  
think the lifecycle issue is solvable in camel.  Let's keep this  
discussion going.
Hadrian


On Feb 3, 2009, at 8:18 AM, jb@nanthrax.net wrote:

> Guys,
>
> I have begun the servicemix-ldap component :
> http://svn.nanthrax.net/servicemix-ldap/trunk/
>
> My purpose is to compare with the Camel LDAP component and  
> investigate how it's possible to use a common part.
> So, it's a kind of prototype to
> 1/ provide a LDAP component :)
> 2/ investigate and test how Camel and SMX components can be shared
>
> Regards
> JB
>
> PS : for now, I have put the source code on my svn repository. I  
> will commit on the ASF one as soons as possible.
>
> On Monday 02 February 2009 - 19:25, Guillaume Nodet wrote:
>> This should not be too complicated to implement if needed.
>>
>> The idea in JBI is that service assemblies (aka routes un camel) have
>> three real states: started, stopped and shutdown.
>> Started means that all endpoints are fully operational.  Shutdown
>> means that no exchanges will be processed.  The stopped state is the
>> interesting one: consumer endpoints will not accept any new requests
>> from the outside world but will still process existing requests.  
>> Other
>> provider endpoints fully process requets.  The goal is to ensure an
>> orderly shut down of assemblies and not loose any messages.  For
>> example a jms consumer will stop consuming jms messages from the
>> queue, but will still enqueue responses when they come back from the
>> route.
>>
>> If we are to support that in camel, we should do it in a way that we
>> can easily control the lifecycle of mixed applications (if you mix
>> servicemix endpoints and camel routes).
>>
>> On 02/02/2009, James Strachan <ja...@gmail.com> wrote:
>>> 2009/2/2 Guillaume Nodet <gn...@gmail.com>:
>>>> It might be doable.  I guess the way to do that would be to  
>>>> define the
>>>> JBI endpoint as a wrapper to a camel endpoint.  When the JBI  
>>>> endpoint
>>>> would be initialized / started, a camel route would be created  
>>>> for it.
>>>> Not sure how well camel endpoints can handle the JBI lifecycle  
>>>> where
>>>> new requests are not accepted, but existing exchanges are still
>>>> processed until completion (for a consumer endpoint).
>>>
>>> Could you give an example of a well behaving JBI endpoint that does
>>> this? I wonder how hard this would be to add; either at the
>>> Camel-Endpoint-As-JBI-Endpoint wrapper or inside Camel etc
>>>
>>> --
>>> James
>>> -------
>>> http://macstrac.blogspot.com/
>>>
>>> Open Source Integration
>>> http://fusesource.com/
>>>
>>
>>
>> -- 
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com