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