Class NotificationHandler

java.lang.Object
org.jolokia.service.jmx.handler.AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
org.jolokia.service.jmx.handler.NotificationHandler
All Implemented Interfaces:
CommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>

public class NotificationHandler extends AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
A request handler which is responsible for managing notification requests.
Since:
19.03.13
Author:
roland
  • Constructor Details

    • NotificationHandler

      public NotificationHandler()
  • Method Details

    • init

      public void init(org.jolokia.server.core.service.api.JolokiaContext pContext, String pProvider)
      Description copied from interface: CommandHandler
      Lifecycle method in order to initialize the handler
      Specified by:
      init in interface CommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Overrides:
      init in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Parameters:
      pContext - the jolokia context
      pProvider - provider to use for returned names. Handlers can use this for returning meta data with the proper provider prefixed.
    • getType

      public org.jolokia.server.core.util.RequestType getType()
      The type of request which can be served by this handler
      Returns:
      the request typ of this handler
    • handleAllServersAtOnce

      public boolean handleAllServersAtOnce(org.jolokia.server.core.request.JolokiaNotificationRequest pRequest)
      Override this if you want all servers as list in the argument, e.g. to query each server on your own. By default, dispatching of the servers are done for you
      Specified by:
      handleAllServersAtOnce in interface CommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Overrides:
      handleAllServersAtOnce in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Parameters:
      pRequest - request to decide on whether to handle all request at once
      Returns:
      whether you want to have CommandHandler.handleSingleServerRequest(MBeanServerConnection, JolokiaRequest) (false) or CommandHandler.handleAllServerRequest(MBeanServerAccess, JolokiaRequest, Object) (true) called.
    • checkForRestriction

      protected void checkForRestriction(org.jolokia.server.core.request.JolokiaNotificationRequest pRequest)
      Check whether there is a restriction on the type to apply. This method should be overwritten by specific handlers if they support a more sophisticated check than only for the type
      Specified by:
      checkForRestriction in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Parameters:
      pRequest - request to check
    • doHandleSingleServerRequest

      protected Object doHandleSingleServerRequest(MBeanServerConnection server, org.jolokia.server.core.request.JolokiaNotificationRequest request)
      Abstract method to be subclassed by a concrete handler for performing the request.
      Specified by:
      doHandleSingleServerRequest in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Parameters:
      server - server to try
      request - request to process
      Returns:
      the object result from the request
    • doHandleAllServerRequest

      public Object doHandleAllServerRequest(org.jolokia.server.core.util.jmx.MBeanServerAccess serverManager, org.jolokia.server.core.request.JolokiaNotificationRequest request, Object pPreviousResult) throws ReflectionException, MBeanException, IOException, org.jolokia.server.core.request.EmptyResponseException
      Default implementation fo handling a request for multiple servers at once. A subclass, which returns, true on AbstractCommandHandler.handleAllServersAtOnce(JolokiaRequest), needs to override this method.
      Overrides:
      doHandleAllServerRequest in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaNotificationRequest>
      Parameters:
      serverManager - all MBean servers found in this JVM
      request - the original request
      pPreviousResult - a previous result which for merging requests can be used to merge files
      Returns:
      the result of the the request.
      Throws:
      ReflectionException
      MBeanException
      IOException
      org.jolokia.server.core.request.EmptyResponseException