Package io.hawt.jmx

Interface RBACRegistryMBean

All Known Implementing Classes:
RBACRegistry

public interface RBACRegistryMBean

MBean that optimizes access to Karaf's RBAC services.

When doing client-side initialization, hawtio invokes two time-consuming operations:

  • LIST of available MBeans (with metadata consisting in attrs, ops, description
  • EXEC for org.apache.karaf.management.JMXSecurityMBean#canInvoke(java.util.Map)
This becomes unacceptable when we have hundreds of similar MBeans (like ActiveMQ queues or Camel components/endpoints/processors/routes/consumers/...

The role of this MBean is to combine LIST+EXEC/RBAC operations into one - and return map that is complete, but optimized (uses shared JSON elements that can be processed by hawtio client app itself).

  • Method Summary

    Modifier and Type
    Method
    Description
    Returns Map (that can be nicely handled by Jolokia) containing everything that is initially needed by hawtio client application.
    list(String path)
    Returns a subset of MBeans specified by the given inner path.
  • Method Details

    • list

      Map<String,Object> list() throws Exception
      Returns Map (that can be nicely handled by Jolokia) containing everything that is initially needed by hawtio client application. It's an optimized and dedicated method that runs much faster than sequence of relevant Jolokia operations (LIST+EXEC with maxDepth=7).
      Returns:
      The optimised data type of MBean domains and cache
      Throws:
      Exception
    • list

      Map<String,Object> list(String path) throws Exception
      Returns a subset of MBeans specified by the given inner path. Everything else works in the same way as list().
      Returns:
      The optimised data type of MBean domains and cache
      Throws:
      Exception