Return-Path: X-Original-To: apmail-camel-dev-archive@www.apache.org Delivered-To: apmail-camel-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5B6AD848E for ; Tue, 30 Aug 2011 06:23:30 +0000 (UTC) Received: (qmail 50742 invoked by uid 500); 30 Aug 2011 06:23:29 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 50195 invoked by uid 500); 30 Aug 2011 06:23:11 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 50142 invoked by uid 99); 30 Aug 2011 06:23:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Aug 2011 06:23:03 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Aug 2011 06:23:00 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 18474CE1EE for ; Tue, 30 Aug 2011 06:22:38 +0000 (UTC) Date: Tue, 30 Aug 2011 06:22:38 +0000 (UTC) From: "Claus Ibsen (JIRA)" To: dev@camel.apache.org Message-ID: <1536332836.6232.1314685358096.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <392436983.13497.1314277837027.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (CAMEL-4381) Simplify ServiceSupport and introduce ServiceWithStatus interface to remove tangle between util and support MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CAMEL-4381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13093471#comment-13093471 ] Claus Ibsen commented on CAMEL-4381: ------------------------------------ When you do those big refactorings then avoid changing the logic. For example in ServiceHelper you removed the logic which checks if a service is already started in the startService method. That logic should be put back. Spotting this is hard when you do big refactorings. If you want to change some logic, then do these changes in separate commits. > 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