Class SearchHandler

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

public class SearchHandler extends AbstractCommandHandler<org.jolokia.server.core.request.JolokiaSearchRequest>
Handler responsible for searching for MBean names.
Since:
Jun 18, 2009
Author:
roland
  • Constructor Details

    • SearchHandler

      public SearchHandler()
  • Method Details

    • 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
    • checkForRestriction

      protected void checkForRestriction(org.jolokia.server.core.request.JolokiaSearchRequest 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.JolokiaSearchRequest>
      Parameters:
      pRequest - request to check
    • doHandleAllServerRequest

      public Object doHandleAllServerRequest(org.jolokia.server.core.util.jmx.MBeanServerAccess serverManager, org.jolokia.server.core.request.JolokiaSearchRequest request, Object pPreviousResult) throws IOException, org.jolokia.server.core.request.NotChangedException
      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.JolokiaSearchRequest>
      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:
      IOException
      org.jolokia.server.core.request.NotChangedException
    • handleAllServersAtOnce

      public boolean handleAllServersAtOnce(org.jolokia.server.core.request.JolokiaSearchRequest 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.JolokiaSearchRequest>
      Overrides:
      handleAllServersAtOnce in class AbstractCommandHandler<org.jolokia.server.core.request.JolokiaSearchRequest>
      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.
    • doHandleSingleServerRequest

      protected Object doHandleSingleServerRequest(MBeanServerConnection server, org.jolokia.server.core.request.JolokiaSearchRequest 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.JolokiaSearchRequest>
      Parameters:
      server - server to try
      request - request to process
      Returns:
      the object result from the request