On Tue, May 31, 2011 at 9:47 AM, Raymond Feng <[email protected]> wrote: > Hi, Amindri. > Thanks for the patch. I have a few comments: > 1) It seems that you are trying to add the "getView()" into the model such > as Endpoint. This approach is a bit invasive. Can we achieve the same > function using a different way? > * Define a ManagementProviderExtensionPoint which collects all management > providers for given managed entities in Tuscany runtime. > * Define an ManagementProvider SPI like: > package org.apache.tuscany.sca.management.jmx; > public interface ManagementProvider<M> { > Class<M> getModelType(); // The type of the model to be managed > <V> V getView(M model); // The view of the given model > } > * For managed entities in Tuscany runtime, create an implementation > of ManagementProvider and register it using > META-INF/services/org.apache.tuscany.sca.management.jmx.ManagementProvider > 2) Can the MXBeans be hierarchical in addition to the flat list? Typically > in Tuscany, the managed entities are part of a tree. For example, > ExtensionPointRegistry --> ExtensionPoint --> Extension, or SCA Domain --> > Composite --> Component --> Services. Maybe the hierarchy can be represented > using the ObjectName conventions. > 3) To access the managed entities, take a look > at org.apache.tuscany.sca.core.assembly.impl.CompositeActivatorImpl > and org.apache.tuscany.sca.core.DefaultExtensionPointRegistry. We might need > to expose some of the information to JMX. > Thanks, > Raymond
I also have a requirement, where, in environments where JMX and other Management APIs are not supported, can I remove the module and everything will still work without any dependencies on the management APIS ? This is mainly to allow us to run Tuscany in cloud environments such Google App Engine where management APIs are NOT whitelisted on the sandbox environment of the application. -- Luciano Resende http://people.apache.org/~lresende http://twitter.com/lresende1975 http://lresende.blogspot.com/
