[ 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