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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.lang.Object> list()
      Returns Map (that can be nicely handled by Jolokia) containing everything that is initially needed by hawtio client application.
    • Method Detail

      • list

        java.util.Map<java.lang.String,​java.lang.Object> list()
                                                             throws java.lang.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:
        Throws:
        java.lang.Exception