All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.caucho.management.server.PortMXBean Maven / Gradle / Ivy

/*
 * Copyright (c) 1998-2018 Caucho Technology -- all rights reserved
 *
 * This file is part of Resin(R) Open Source
 *
 * Each copy or derived work must preserve the copyright notice and this
 * notice unmodified.
 *
 * Resin Open Source is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * Resin Open Source is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
 * of NON-INFRINGEMENT.  See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Resin Open Source; if not, write to the
 *
 *   Free Software Foundation, Inc.
 *   59 Temple Place, Suite 330
 *   Boston, MA 02111-1307  USA
 *
 * @author Scott Ferguson
 */

package com.caucho.management.server;

import com.caucho.jmx.Description;
import com.caucho.jmx.Units;

/**
 * Represents a protocol connection.
 *
 * A typical ObjectName for a Port is
 *
 * 
 * resin:type=Port,port=80,address=INADDR_ANY
 * 
*/ @Description("The protocol listening to an IP address.") public interface PortMXBean extends ManagedObjectMXBean { /** * Returns the ip address or used to bind the port. */ @Description("The configured ip address or host name used to bind the port") public String getAddress(); /** * Returns the port's protocol name. */ @Description("The configured protocol for the port") public String getProtocolName(); /** * Returns the port number used to bind the port. */ @Description("The configured port number used to bind the port") public int getPort(); @Description("True if the port is using SSL encryption") public boolean isSSL(); // // Tuning/Configuration // /** * Returns the minimum number of accept threads */ @Description("The minimum number of accept threads") public int getAcceptThreadMin(); /** * Returns the maximum number of accept threads */ @Description("The maximum number of accept threads") public int getAcceptThreadMax(); /** * Returns the active threads for the port. */ @Description("The maximum number of active threads for hte port") public int getPortThreadMax(); /** * Returns the operating system listen backlog */ @Description("The operating system listen backlog") public int getAcceptListenBacklog(); /** * Returns the maximum number of active connections allowed for the port. */ @Description("The configured maximum number of current connections") public int getConnectionMax(); /** * Returns true if JNI is enabled */ @Description("True if JNI is enabled for this port") public boolean isJniEnabled(); /** * Returns the maximum number keepalive connections allowed for the port. */ @Description("The configured maximum number of keepalive connections") public int getKeepaliveMax(); /** * Returns the maximum number of select keepalive connections allowed for the port. */ @Description("The configured maximum number of select keepalive connections") public int getKeepaliveSelectMax(); /** * Returns the timeout for a keepalive using its own thread before * going to the select. */ @Description("The timeout for a keepalive to use its own thread") public long getKeepaliveThreadTimeout(); /** * Returns the maximum total time for keepalive connections */ @Description("The maximum total time for keepalive connections") public long getKeepaliveConnectionTimeMax(); /** * Returns the timeout for a keepalive connection */ @Description("The configured timeout for keepalive connections") public long getKeepaliveTimeout(); /** * Returns the timeout for socket reads when waiting for data from a client. * * Corresponds to the functionality described in * {@link java.net.Socket#setSoTimeout(int)}, although the actual * socket connection may be handled in different ways. */ @Description("The configured timeout for socket reads when waiting for data from a client") @Units("milliseconds") public long getSocketTimeout(); /** * Returns the suspend/comet time max */ @Description("The maximum suspend/comet time") @Units("milliseconds") public long getSuspendTimeMax(); /** * Returns true if tcp-no-delay is enabled. */ @Description("The TCP no-delay (Nagle) socket option") public boolean isTcpNoDelay(); /** * Returns true if tcp-keepalive is enabled. */ @Description("The TCP keepalive socket option") public boolean isTcpKeepalive(); // // State attributes // /* * Returns the lifecycle state. */ @Description("The current lifecycle state") public String getState(); // // Statistics // /** * Returns the current number of threads that are servicing requests. */ @Description("The current number of threads used by the port") public int getThreadCount(); /** * Returns the current number of threads that are servicing requests. */ @Description("The current number of threads that are servicing requests") public int getThreadActiveCount(); /** * Returns the current number of threads that are idle and * waiting to service requests. */ @Description("The current number of threads that are" + " idle and waiting to service requests") public int getThreadIdleCount(); /** * Returns the current number of threads that are starting and * waiting to service requests. */ @Description("The current number of threads that are" + " starting and waiting to service requests") public int getThreadStartCount(); /** * Returns the current number of connections that are in the keepalive * state */ @Description("The current number of connections that are" + " in the keepalive state") public int getKeepaliveCount(); /** * Returns the current number of connections that are in the keepalive * state and are using a thread to maintain the connection. */ @Description("The current number of connections that are" + " in the keepalive state and are using" + " a thread to maintain the connection") public int getKeepaliveThreadCount(); /** * Returns the current number of connections that are in the keepalive * state and are using select to maintain the connection. */ @Description("The current number of connections that are" + " in the keepalive state and are using" + " select to maintain the connection") public int getKeepaliveSelectCount(); /** * Returns the current number of comet-socket idle and * waiting to service requests. */ @Description("The current number of comet sockets that are" + " idle and waiting to service requests") public int getCometIdleCount(); /** * Returns the total number of requests serviced by the server * since it started. */ @Description("The total number of requests serviced by the" + " server since it started") public long getRequestCountTotal(); /** * Returns the number of requests that have ended up in the keepalive state * for this server in its lifetime. */ @Description("The total number of requests that have ended" + " up in the keepalive state") public long getKeepaliveCountTotal(); /** * Returns the number of requests that have ended up in the * keepalive select state for this server in its lifetime. */ @Description("The total number of requests that have ended" + " up in the keepalive select state") public long getKeepaliveSelectCountTotal(); /** * The total number of connections that have terminated with * {@link com.caucho.vfs.ClientDisconnectException}. */ @Description("The total number of connections that have" + " terminated with a client disconnect") public long getClientDisconnectCountTotal(); /** * The total number of connections that have been disconnected * by throttling. */ @Description("The total number of connections that have" + " been throttled by disconnectin") public long getThrottleDisconnectCountTotal(); /** * Returns the total duration in milliseconds that requests serviced by * this port have taken. */ @Description("The total duration in milliseconds that" + " requests serviced by this service have taken") @Units("milliseconds") public long getRequestTimeTotal(); /** * Returns the total number of bytes that requests serviced by this * port have read. */ @Description("The total number of bytes that requests" + " serviced by this port have read") @Units("bytes") public long getReadBytesTotal(); /** * Returns the total number of bytes that requests serviced by this * port have written. */ @Description("The total number of bytes that requests" + " serviced by this port have written") @Units("bytes") public long getWriteBytesTotal(); // // Operations // /** * Enables the port, letting it listen to new connections. */ public void start(); /** * Disables the port, stopping it from listening to connections. */ public void stop(); /** * Returns the connection info */ public TcpConnectionInfo []connectionInfo(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy