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

Christian Schneider commented on CAMEL-527:
-------------------------------------------

The problem with ServiceHelper is that ServiceSupport uses ServiceHelper. So we 
get a new dependency between camel and util. Currently there are 12 references 
from camel to util and 245 references from util to camel. So I think util needs 
camel but we have a chance to cut the other direction. 2 of the 12 references 
from camel to util come from ServiceSupport the other 10 come from 
CamelTemplate. So I thought we could start with ServiceHelper and solve the 
problem with CamelTemplate in a new issue. 

The alternative would be to try to move the whole Service thing to util. This 
would be ServiceHelper, ServiceSupport and Service. The problem with this is 
that Service is referenced from many classes in Camel. So we would make the 
cycle between camel and util even worse.

I think the problem with all this is that we need a util package that does not 
depend on camel. Somthing like base utils. Then we could move utility classes 
like ServiceSupport ... to this package. Our current util is to much dependent 
from Camel that we can hope to make it standalone.

Btw. I am using structure101 to analyse the dependencies. Do you also use this 
or another tool already? Normally the tool costs about 600$ but as Camel is an 
open source project we can get it free. If you are interested in the tool I can 
give you the contact from headway where I got my license. See 
http://activemq.apache.org/camel/acknowledgment.html


> Break dependency cycle between camel and camel.impl
> ---------------------------------------------------
>
>                 Key: CAMEL-527
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-527
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 1.3.0
>            Reporter: Christian Schneider
>            Assignee: Claus Ibsen
>             Fix For: 1.4.0
>
>         Attachments: servicehelper.patch
>
>   Original Estimate: 3 hours
>  Remaining Estimate: 3 hours
>
> Currently there is a dependency cycle between camel and camel.impl. While I 
> think there is no problem when impl uses camel the other direction should not 
> occur. Luckily there ist only one case where this happens. The class 
> CamelTemplate from camel uses ServiceSupport from impl. 
> As a solution I would suggest to move ServiceSupport and Service to util. 
> ServiceHelper is already in util and Service as well as ServiceSupport do not 
> need any other classes. This would help to break the dependency cycle and at 
> the same time move some classes out of the already quite big camel package.

-- 
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