package org.tanukisoftware.wrapper.jmx; /* * Copyright (c) 1999, 2009 Tanuki Software, Ltd. * http://www.tanukisoftware.com * All rights reserved. * * This software is the proprietary information of Tanuki Software. * You shall use it only in accordance with the terms of the * license agreement you entered into with Tanuki Software. * http://wrapper.tanukisoftware.org/doc/english/licenseOverview.html */ /** * @author Leif Mortenson <leif@tanukisoftware.com> */ public interface WrapperManagerMBean { /** * Obtain the current version of Wrapper. * * @return The version of the Wrapper. */ String getVersion(); /** * Obtain the build time of Wrapper. * * @return The time that the Wrapper was built. */ String getBuildTime(); /** * Returns the Id of the current JVM. JVM Ids increment from 1 each time * the wrapper restarts a new one. * * @return The Id of the current JVM. */ int getJVMId(); /** * Returns true if the current Wrapper edition has support for Professional * Edition features. * * @return True if professional features are supported. */ boolean isProfessionalEdition(); /** * Returns true if the current Wrapper edition has support for Standard * Edition features. * * @return True if standard features are supported. */ boolean isStandardEdition(); /** * Sets the title of the console in which the Wrapper is running. This * is currently only supported on Windows platforms. * <p> * As an alternative, it is also possible to set the console title from * within the wrapper.conf file using the wrapper.console.title property. * * @param title The new title. The specified string will be encoded * to a byte array using the default encoding for the * current platform. */ void setConsoleTitle( String title ); /** * Returns the PID of the Wrapper process. * * A PID of 0 will be returned if the JVM was launched standalone. * * This value can also be obtained using the 'wrapper.pid' system property. * * @return The PID of the Wrpper process. */ int getWrapperPID(); /** * Returns the PID of the Java process. * * A PID of 0 will be returned if the native library has not been initialized. * * This value can also be obtained using the 'wrapper.java.pid' system property. * * @return The PID of the Java process. */ int getJavaPID(); /** * Requests that the current JVM process request a thread dump. This is * the same as pressing CTRL-BREAK (under Windows) or CTRL-\ (under Unix) * in the the console in which Java is running. This method does nothing * if the native library is not loaded. */ void requestThreadDump(); /** * Returns true if the JVM was launched by the Wrapper application. False * if the JVM was launched manually without the Wrapper controlling it. * * @return True if the current JVM was launched by the Wrapper. */ boolean isControlledByNativeWrapper(); /** * Returns true if the Wrapper was launched as an NT service on Windows or * as a daemon process on UNIX platforms. False if launched as a console. * This can be useful if you wish to display a user interface when in * Console mode. On UNIX platforms, this is not as useful because an * X display may not be visible even if launched in a console. * * @return True if the Wrapper is running as an NT service or daemon * process. */ boolean isLaunchedAsService(); /** * Returns true if the wrapper.debug property, or any of the logging * channels are set to DEBUG in the wrapper configuration file. Useful * for deciding whether or not to output certain information to the * console. * * @return True if the Wrapper is logging any Debug level output. */ boolean isDebugEnabled(); /** * Tells the native wrapper that the JVM wants to restart, then informs * all listeners that the JVM is about to shutdown before killing the JVM. * <p> * The restart is actually performed in a background thread allowing JMX * a chance to respond to the client. */ void restart(); /** * Tells the native wrapper that the JVM wants to shut down, then informs * all listeners that the JVM is about to shutdown before killing the JVM. * <p> * The stop is actually performed in a background thread allowing JMX * a chance to respond to the client. * * @param exitCode The exit code that the Wrapper will return when it exits. */ void stop( int exitCode ); /** * Returns true if the ShutdownHook for the JVM has already been triggered. * Some code needs to know whether or not the system is shutting down. * * @return True if the ShutdownHook for the JVM has already been triggered. */ boolean getHasShutdownHookBeenTriggered(); }