[ https://issues.apache.org/jira/browse/CAMEL-4358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13089274#comment-13089274 ]
Claus Ibsen commented on CAMEL-4358: ------------------------------------ It looks like you removed JmxNotificationBroadcasterAware, is there a reason for that? And whats the reason for moving the 3 ManagedXXX annotations to spi.management package? As an end user, eg developing a custom processor/bean/component I would feel a bit odd to import spi.management to add a JMX annotation to my code. Those annotations are part of the "daily" development, and fells more natural in the org.apache.camel.management or org.apache.camel package. The spi.management would be for 3rd party developing some custom integration with eg. a custom management software with Camel in general. A regular Camel end user shouldn't need to use the spi package. Luckily those 3 ManagedXXX annotations is new in Camel 2.9 so we have the luxury of being able to place them where we like it the best. Also it would be nice if the patch was smaller and you did this in more steps. So if you wanted to move the ServiceSupport and I think there was one other class, then doing that in a separate patch would have been nice. But I guess from this big patch its harder to split it into two now your working codebase has changed soo much. Anyway you are on a good way here. Just the ManagedXXX annotations I would like to be kept in a non spi package. > 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 > > Attachments: CAMEL-4358-1.patch > > > 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