blob: daeaa4ffaa546f01a52f26dd59fa981a74c85112 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ignite.mxbean;
import org.apache.ignite.internal.processors.metric.GridMetricManager;
/**
* MBean that provides access to information about executor service.
*
* @deprecated Use {@link GridMetricManager} instead.
*/
@MXBeanDescription("MBean that provides access to information about executor service.")
@Deprecated
public interface ThreadPoolMXBean {
/**
* Returns the approximate number of threads that are actively executing tasks.
*
* @return The number of threads.
*/
@MXBeanDescription("Approximate number of threads that are actively executing tasks.")
public int getActiveCount();
/**
* Returns the approximate total number of tasks that have completed execution.
* Because the states of tasks and threads may change dynamically during
* computation, the returned value is only an approximation, but one that
* does not ever decrease across successive calls.
*
* @return The number of tasks.
*/
@MXBeanDescription("Approximate total number of tasks that have completed execution.")
public long getCompletedTaskCount();
/**
* Returns the core number of threads.
*
* @return The core number of threads.
*/
@MXBeanDescription("The core number of threads.")
public int getCorePoolSize();
/**
* Returns the largest number of threads that have ever
* simultaneously been in the pool.
*
* @return The number of threads.
*/
@MXBeanDescription("Largest number of threads that have ever simultaneously been in the pool.")
public int getLargestPoolSize();
/**
* Returns the maximum allowed number of threads.
*
* @return The maximum allowed number of threads.
*/
@MXBeanDescription("The maximum allowed number of threads.")
public int getMaximumPoolSize();
/**
* Returns the current number of threads in the pool.
*
* @return The number of threads.
*/
@MXBeanDescription("Current number of threads in the pool.")
public int getPoolSize();
/**
* Returns the approximate total number of tasks that have been scheduled
* for execution. Because the states of tasks and threads may change dynamically
* during computation, the returned value is only an approximation, but
* one that does not ever decrease across successive calls.
*
* @return The number of tasks.
*/
@MXBeanDescription("Approximate total number of tasks that have been scheduled for execution.")
public long getTaskCount();
/**
* Gets current size of the execution queue. This queue buffers local
* executions when there are not threads available for processing in the pool.
*
* @return Current size of the execution queue.
*/
@MXBeanDescription("Current size of the execution queue.")
public int getQueueSize();
/**
* Returns the thread keep-alive time, which is the amount of time which threads
* in excess of the core pool size may remain idle before being terminated.
*
* @return Keep alive time.
*/
@MXBeanDescription("Thread keep-alive time, which is the amount of time which threads in excess of " +
"the core pool size may remain idle before being terminated.")
public long getKeepAliveTime();
/**
* Returns {@code true} if this executor has been shut down.
*
* @return {@code True} if this executor has been shut down.
*/
@MXBeanDescription("True if this executor has been shut down.")
public boolean isShutdown();
/**
* Returns {@code true} if all tasks have completed following shut down. Note that
* {@code isTerminated()} is never {@code true} unless either {@code shutdown()} or
* {@code shutdownNow()} was called first.
*
* @return {@code True} if all tasks have completed following shut down.
*/
@MXBeanDescription("True if all tasks have completed following shut down.")
public boolean isTerminated();
/**
* Returns {@code true} if this executor is in the process of terminating after
* {@code shutdown()} or {@code shutdownNow()} but has not completely terminated.
* This method may be useful for debugging. A return of {@code true} reported a
* sufficient period after shutdown may indicate that submitted tasks have ignored
* or suppressed interruption, causing this executor not to properly terminate.
*
* @return {@code True} if terminating but not yet terminated.
*/
@MXBeanDescription("True if terminating but not yet terminated.")
public boolean isTerminating();
/**
* Returns the class name of current rejection handler.
*
* @return Class name of current rejection handler.
*/
@MXBeanDescription("Class name of current rejection handler.")
public String getRejectedExecutionHandlerClass();
/**
* Returns the class name of thread factory used to create new threads.
*
* @return Class name of thread factory used to create new threads.
*/
@MXBeanDescription("Class name of thread factory used to create new threads.")
public String getThreadFactoryClass();
}