I've recently added a new feature ( https://issues.apache.org/jira/browse/UIMA-2217) to the uima core to expose AE state via AE managegement interface. The specific motivation was to be able to detect when AE transitions from an Initializing to a Ready state and to capture how long AE initializes. As part of this work, I've extended two existing uima interfaces org.apache.uima.analysis_engine.AnalysisEngineManagement.java and AnalysisEngineManagementImplMBean.java with three new methods. It appears that by extending these interfaces I may have broken backwards compatibility. Marshall pointed out that an alternate approach is needed. It was proposed to remove the three new methods I've added to the AnalysisEngineManagement.java interface. The implementation of this interface AnalysisEngineManagementImpl.java would retain the three new methods and any code that needs to access them would need to use (AnalysisEngineManagementImpl) cast. Actually, the code I've changed in UIMAFramework.java already uses casting so no additional changes would be required. To expose the AE state attributes via JMX I propose creating a new interface which will extend AnalysisEngineManagementImplMBean.java interface. All new methods would go to the new interface. The AnalysisEngineManagementImpl.java will need to change to implement the new interface instead of the AnalysisEngineManagementImplMBean. Please comment if the above changes seem ok, or provide alternate approach(es). Thanks.
JC
