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

Christian Schneider commented on CAMEL-4381:
--------------------------------------------

Btw. Do we really need these AtomicBooleans? The state of the service can only 
be one of those at a time. So I think an integer or a status enum would be 
better.

So I would like to change that into a ServiceStatus status. The only question 
is how to make it thread safe but I guess this should work with synchronized.


> Simplify ServiceSupport and introduce ServiceWithStatus interface to remove 
> tangle between util and support
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-4381
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4381
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.8.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 2.9.0
>
>
> Currently ServiceSupport and ServiceHelper form a dependency cycle. 
> ServiceSupport calls ServiceHelper to start and stop services and 
> ServiceSupport operate on ServiceSupport classes.
> To solve that I introduce an Interface ServiceWithSupport (open for a better 
> naming). This interface extends Service and has all relevant methods from 
> ServiceSupport. So ServiceHelper can operate on ServiceWithStatus and the 
> tangle goes away. 
> Addtionally I split up ServiceSupport into ServiceSupport which has no 
> children and ChildServiceSupport which has. This is because we seem to have 
> only two classes that actually use the children functionality. The rest of 
> the classes that extend ServiceSupport have no children. So having them all 
> extend the old ServiceSupport introduces a lot of unneeded complexity.
> The change should be fairly compatible. The only possible problem are third 
> party components that use children. As we only had two such components in 
> camel the chance that something breaks is fairly low.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to