Camel - Refine Service lifecycle inspired by SMX

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Camel - Refine Service lifecycle inspired by SMX

Claus Ibsen

See SM-1576

Improved Lifecycle
I have been wondering if we should consider SM-1576 for Camel 2.0 as well? To refine our Service interface to have 4 methods:
- init
- shutdown
- start
- stop

The start/stop is much useable for the dynamic management to pause endpoints etc. A feature I would love ;)

Init and shutdown is of course the resource management and hooked into the existing init and shutdown lifecycle.

I like for instance that SMX can return HTTP error 503 for a service temporary unavailable. For instance our camel-jetty should do this?

Side track (need more discussion)
Also I think we should consider improving lazy connection and reconnection much more. So for instance you can wait to connect to a remote resource until an exchange is processed. We have a few custom components that support this (e.g. Mina springs to my mind). But I think it should be first class citizen.

Maybe we could have some special interface/callbacks for connect/reconnect. Something I would like to be more logable, for incident management. But maybe Hyperic or other cool products handle this already? For instance I would like metrics for this in jconsole. But yet again, if Hyerpric got this out-of-the-box for free we might not duplicate the work.

Any thoughts?

Med venlig hilsen

Claus Ibsen
Skovsgårdsvænget 21
8362 Hørning
Tlf. +45 2962 7576