...
The implementation of getManagementService is a singleton for now but it allows us to eventually support multiple cache instances (probably multiple client caches and on peer cache). The resulting ManagementService instance will be specific to the provided cache and its distributed system. Also the instance will behave differently when the cache is a client cache vs a peer cache. When its a client cache then execution of a command string should be forwarded to the cache server instead of processed in the local JVM. More detailing needs to be done for client cache.
Come on
Code Block | ||
---|---|---|
| ||
Test
|
APIs useful at Managed Node
Code Block language java Foo
Code Block language java public class ManagementService { /** * It will a singleton instance across a Cache. This instance will * act as the interface between user and GemFire Management. * * @param Cache * @return ManagementService */ public static ManagementService getManagementService(Cache cache) { } /** * This will register the MBean in default GemFire domain. * Any MBean which wishes to register itself in Gemfire * domain should use this method. * Note: The ObjectName will be modified here. Hence returning the * modified ObjectName. */ public ObjectName registerMBean(Object object, ObjectName objectName) { } /** * For consistency and clean up of GemFire resources * use this method to unregister the MBean from GemFire Domain */ public void unregisterMBean(ObjectName objectName) { } /** * This method is used to mark an MBean for federation. * * Users may want to only register their MBean in GemFire domain. In that * case they don't have to call federate(); * * @param <T> * @param name MBean name * @param interfaceClass MBean interface class * @param notificationEmitter is the MBean a notification emitter */ public <T> boolean federate(ObjectName name, Class<T> interfaceClass, boolean notificationEmitter) { } /** * This method is used to process a command * This takes an String is a parameter. * * @param commandString * @return */ public Object processComand(String commandString) { } /** * Interfaces to get all GemFire specific MBeans * */ public RegionMXBean getLocalRegionMXBean(Region region) { } public LockServiceMXBean getLocalLockServiceMXBean(String name){ } ........ }
...