[ 
https://issues.apache.org/jira/browse/CAMEL-4358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christian Schneider updated CAMEL-4358:
---------------------------------------

    Description: 
Currently the management code (org.apache.camel.management.*) contains a mix of 
implementation code and APIs. This leads to cycle in the management code as 
well as to bigger cycles involving all of camel-core.

So I propose to do several changes:
- move interfaces and annotations that form the API to camel.spi.management. As 
these are probably not used by external components or user code no 
compatibility classes are created
- create new package camel.suppport for classes that implement API or SPI 
classes and are expected to be extended by many impl classes. classes in 
support may only access the camel API and SPI
- Move EventNotifierSupport and ServiceSupport to this package. Create 
deprecate dummys in the old locations to avoid breaking older code
- Move DefaultEventFactory from management to management.event

I will post a patch shortly for review


  was:
Currently Statistic.UpadateMode is used in 
org.apache.camel.spi.ManagementStrategy. The problem is that Statistic is 
located in org.apache.camel.management together with impl classes. So we have a 
dependency from an spi package to an impl package.

I propose to move Statistic to spi as it is an interface and needed to 
implement a ManagementStrategy. I donĀ“t think Statistic is used outside 
camel-core at the moment so I would like to do the change already for camel 
2.9.0

     Patch Info: [Patch Available]
        Summary: Refactoring of management code to remove cycles and clearly 
separate between API and impl  (was: Move org.apache.camel.management.Statistic 
to org.apache.camel.spi.Statistic)

> Refactoring of management code to remove cycles and clearly separate between 
> API and impl
> -----------------------------------------------------------------------------------------
>
>                 Key: CAMEL-4358
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4358
>             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 the management code (org.apache.camel.management.*) contains a mix 
> of implementation code and APIs. This leads to cycle in the management code 
> as well as to bigger cycles involving all of camel-core.
> So I propose to do several changes:
> - move interfaces and annotations that form the API to camel.spi.management. 
> As these are probably not used by external components or user code no 
> compatibility classes are created
> - create new package camel.suppport for classes that implement API or SPI 
> classes and are expected to be extended by many impl classes. classes in 
> support may only access the camel API and SPI
> - Move EventNotifierSupport and ServiceSupport to this package. Create 
> deprecate dummys in the old locations to avoid breaking older code
> - Move DefaultEventFactory from management to management.event
> I will post a patch shortly for review

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


Reply via email to