Class JMXSummaryUtils


  • public class JMXSummaryUtils
    extends Object
    Various utility methods and classes for the JMX Monitor page. and a bunch of JMX properties used by Monitor-JMXsummary.jsp.
    • Field Detail

      • JMXRemoveApplication

        public static final String JMXRemoveApplication
        JMX property for remove application button.
        See Also:
        Constant Field Values
      • JMXPhysLocationProperty

        public static final String JMXPhysLocationProperty
        JMX property for the physical location.
        See Also:
        Constant Field Values
      • JMXMachineNameProperty

        public static final String JMXMachineNameProperty
        JMX property for the machine name.
        See Also:
        Constant Field Values
      • JMXApplicationNameProperty

        public static final String JMXApplicationNameProperty
        JMX property for the application name.
        See Also:
        Constant Field Values
      • JMXApplicationInstIdProperty

        public static final String JMXApplicationInstIdProperty
        JMX property for the application instance id.
        See Also:
        Constant Field Values
      • JMXHarvestChannelProperty

        public static final String JMXHarvestChannelProperty
        JMX property for the harvest channel.
        See Also:
        Constant Field Values
      • JMXArchiveReplicaNameProperty

        public static final String JMXArchiveReplicaNameProperty
        JMX property for the replica name.
        See Also:
        Constant Field Values
      • STARRABLE_PARAMETERS

        public static final String[] STARRABLE_PARAMETERS
        JMX properties, which can set to star.
      • STATUS_MONITOR_JMXSUMMARY

        public static final String STATUS_MONITOR_JMXSUMMARY
        Status/Monitor-JMXsummary.jsp.
        See Also:
        Constant Field Values
    • Constructor Detail

      • JMXSummaryUtils

        public JMXSummaryUtils()
    • Method Detail

      • reduceApplicationName

        public static String reduceApplicationName​(String applicationName)
                                            throws ArgumentNotValid
        Reduce the class name of an application to the essentials.
        Parameters:
        applicationName - The class name of the application, should not be null.
        Returns:
        A reduced name suitable for user output.
        Throws:
        ArgumentNotValid - if argument isn't valid.
      • generateShowColumn

        public static String generateShowColumn​(JMXSummaryUtils.StarredRequest starredRequest,
                                                Locale l)
                                         throws ArgumentNotValid
        Creates the show links for showing columns again.

        Goes through all parameters to check if their column is active. If a column is not active, the link to showing a specific column again is generated.

        Parameters:
        starredRequest - A request to take parameters from, should be different from null.
        l - For retrieving the correct words form the current language.
        Returns:
        The link to show the parameter again.
        Throws:
        ArgumentNotValid - if argument isn't valid.
      • generateShowAllLink

        public static String generateShowAllLink​(JMXSummaryUtils.StarredRequest starredRequest,
                                                 String parameter,
                                                 Locale l)
                                          throws ArgumentNotValid
        Generate HTML to show at the top of the table, containing a "show all" link if the parameter is currently restricted. This function is only used by JMXIndexProperty field, the other properties uses generateShowLing instead.
        Parameters:
        starredRequest - A request to take parameters from, should not be null.
        parameter - The parameter that, if not already unrestricted, should be unrestricted in the "show all" link, should not be null.
        l - the current locale.
        Returns:
        HTML to insert at the top of the JMX monitor table.
        Throws:
        ArgumentNotValid - if arguments isn't valid.
      • generateShowLink

        public static String generateShowLink​(JMXSummaryUtils.StarredRequest starredRequest,
                                              String parameter,
                                              Locale l)
                                       throws ArgumentNotValid
        Generate HTML to show at the top of the table, containing a "show all" and a "off" links if the parameter is currently restricted.
        Parameters:
        starredRequest - A request to take parameters from, should not be null.
        parameter - The parameter that, if not already unrestricted, should be unrestricted in the "show all", should not be null.
        l - the current locale.
        Returns:
        HTML to insert at the top of the JMX monitor table.
        Throws:
        ArgumentNotValid - if arguments isn't valid.
      • showColumn

        public static boolean showColumn​(JMXSummaryUtils.StarredRequest starredRequest,
                                         String parameter)
                                  throws ArgumentNotValid
        Tests if a parameter in the request is "-" (thus off).
        Parameters:
        starredRequest - A request to take parameters from, should not be null.
        parameter - The parameter that should be tested.
        Returns:
        Whether the parameter is set to "-".
        Throws:
        ArgumentNotValid - if argument isn't valid.
      • generateLink

        public static String generateLink​(JMXSummaryUtils.StarredRequest request,
                                          String setPart,
                                          String setValue,
                                          String linkText)
                                   throws ArgumentNotValid
        Generate an HTML link to the JMX summary page with one part of the URL parameters set to a specific value.
        Parameters:
        request - A request to draw other parameter values from, should not be null.
        setPart - Which of the parameters to set.
        setValue - The value to set that parameter to.
        linkText - The HTML text that should go inside the link. Remember to escape HTML values if inserting a normal string.
        Returns:
        A link to insert in the page, or an unlinked text, if setPart or setValue is null, or an empty string if linkText is null.
        Throws:
        ArgumentNotValid - if request is null.
      • queryJMXFromRequest

        public static List<StatusEntry> queryJMXFromRequest​(String[] parameters,
                                                            JMXSummaryUtils.StarredRequest request,
                                                            javax.servlet.jsp.PageContext context)
                                                     throws ArgumentNotValid,
                                                            ForwardedToErrorPage
        Get status entries from JMX based on a request and some parameters.
        Parameters:
        parameters - The parameters to query JMX for, should not be null.
        request - A request possibly containing values for some of the parameters, should not be null.
        context - the current JSP context, should not be null.
        Returns:
        Status entries for the MBeans that match the parameters.
        Throws:
        ArgumentNotValid - if the query is invalid (typically caused by invalid parameters).
        ForwardedToErrorPage - if unable to create JMX-query.
      • unregisterJMXInstance

        public static void unregisterJMXInstance​(String[] parameters,
                                                 JMXSummaryUtils.StarredRequest request,
                                                 javax.servlet.jsp.PageContext context)
                                          throws ArgumentNotValid
        Select zero or more beans from JMX and unregister these.
        Parameters:
        parameters - The parameters to query JMX for, should not be null.
        request - A request possibly containing values for some of the parameters, which select zero or more beans.
        context - the current JSP context, should not be null.
        Throws:
        ArgumentNotValid - if arguments isn't valid.
      • createJMXQuery

        public static String createJMXQuery​(String[] parameters,
                                            JMXSummaryUtils.StarredRequest starredRequest)
                                     throws ArgumentNotValid
        Build a JMX query string (ObjectName) from a request and a list of parameters to query for. This string is always a property pattern (wildcarded), even if all the values we define in the names are specified.
        Parameters:
        parameters - The parameters to query for. These should make up the parts of the unique identification of an MBean.
        starredRequest - A request containing current values for the given parameters.
        Returns:
        A query, wildcarded for those parameters that are or missing in starredRequest.
        Throws:
        ArgumentNotValid - if one or all of the arguements are null.
      • generateMessage

        public static String generateMessage​(String logMessage,
                                             Locale l)
                                      throws ArgumentNotValid
        Make an HTML fragment that shows a log message preformatted. If the log message is longer than NUMBER_OF_LOG_LINES lines, the rest are hidden and replaced with an internationalized link "More..." that will show the rest. Long loglines are split to length approximately monitor.preferredMaxJMXLogLength and then split again to ensure that no lines are wider than monitor.absoluteMaxJMXLogLength. However as the wrapping algorithm is not sophisticated it is better to split the lines in a meaningful way where they are generated.
        Parameters:
        logMessage - The log message to present.
        l - the current Locale.
        Returns:
        An HTML fragment as defined above.
        Throws:
        ArgumentNotValid - if argument isn't valid.
      • RemoveApplication

        public static void RemoveApplication​(javax.servlet.http.HttpServletRequest request,
                                             javax.servlet.http.HttpServletResponse response,
                                             javax.servlet.jsp.PageContext pageContext)
                                      throws IOException,
                                             ArgumentNotValid
        Remove an application. Used by Monitor-JMXsummary.jsp. Code has been moved from the jsp to here to avoid compile errors at runtime in correlation with the upgrade to java 1.8 and introduction of embedded tomcat to handle jsp pages. This was previously done via jetty 6.
        Parameters:
        request - http request from selvlet
        response - http session for page context Harveststatus-running.jsp
        pageContext - http session for page context Harveststatus-running.jsp
        Throws:
        IOException
        ArgumentNotValid