Make management independent of impl
-----------------------------------

                 Key: CAMEL-1718
                 URL: https://issues.apache.org/activemq/browse/CAMEL-1718
             Project: Apache Camel
          Issue Type: Improvement
          Components: camel-core
    Affects Versions: 2.0-M2
            Reporter: Christian Schneider
             Fix For: 2.0.0


Currently management and impl are tangled by a InstrumentationLifecycleStrategy 
and DefaultCamelContext. For example the DefaultCamelContext decides if JMX 
should be used and falls back to the DefaultLifecycleStrategy. 

I think DefaultCamelContext should not know about JMX. So my proposal is to add 
a fallback lifecycle strategy to IntrumentationLifecycle. So it can delegate to 
this strategy if jmx does not work. So this logic can be removed from 
DefaultCamelContext.

Another issue is with Service and ServiceSupport. ManagedService refrences 
ServiceSupport instead of Service. I think this is only because it needs an 
isStarted method. So I suggest to add this method to Service. Of course this 
means that several classes that implement Service need one new method but I 
think this is ok as isStarted can be quite usefull anyway.
Additionally I would move ServiceSupport to camel as many packages need it. 

Together these changes make the dependencies much easier to understand and 
remove cycles.

I will add a patch for this shortly and hope it can be included into 2.0 as it 
changes the API.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to