001: /*
002: * Copyright (c) 1998-2008 Caucho Technology -- all rights reserved
003: *
004: * This file is part of Resin(R) Open Source
005: *
006: * Each copy or derived work must preserve the copyright notice and this
007: * notice unmodified.
008: *
009: * Resin Open Source is free software; you can redistribute it and/or modify
010: * it under the terms of the GNU General Public License as published by
011: * the Free Software Foundation; either version 2 of the License, or
012: * (at your option) any later version.
013: *
014: * Resin Open Source is distributed in the hope that it will be useful,
015: * but WITHOUT ANY WARRANTY; without even the implied warranty of
016: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, or any warranty
017: * of NON-INFRINGEMENT. See the GNU General Public License for more
018: * details.
019: *
020: * You should have received a copy of the GNU General Public License
021: * along with Resin Open Source; if not, write to the
022: * Free SoftwareFoundation, Inc.
023: * 59 Temple Place, Suite 330
024: * Boston, MA 02111-1307 USA
025: *
026: * @author Sam
027: */
028:
029: package com.caucho.server.port;
030:
031: import com.caucho.management.server.AbstractManagedObject;
032: import com.caucho.management.server.PortMXBean;
033:
034: public class PortAdmin extends AbstractManagedObject implements
035: PortMXBean {
036: private Port _port;
037:
038: public PortAdmin(Port port) {
039: _port = port;
040: }
041:
042: public String getName() {
043: String addr = _port.getAddress();
044:
045: if (addr == null)
046: addr = "INADDR_ANY";
047:
048: return addr + '-' + _port.getPort();
049: }
050:
051: public String getProtocolName() {
052: return _port.getProtocolName();
053: }
054:
055: public String getAddress() {
056: return _port.getAddress();
057: }
058:
059: public int getPort() {
060: return _port.getPort();
061: }
062:
063: public boolean isSSL() {
064: return _port.isSSL();
065: }
066:
067: //
068: // Config
069: //
070:
071: public int getAcceptThreadMin() {
072: return _port.getAcceptThreadMin();
073: }
074:
075: public int getAcceptThreadMax() {
076: return _port.getAcceptThreadMax();
077: }
078:
079: public int getAcceptListenBacklog() {
080: return _port.getAcceptListenBacklog();
081: }
082:
083: public int getConnectionMax() {
084: return _port.getConnectionMax();
085: }
086:
087: public int getKeepaliveMax() {
088: return _port.getKeepaliveMax();
089: }
090:
091: public long getKeepaliveConnectionTimeMax() {
092: return _port.getKeepaliveConnectionTimeMax();
093: }
094:
095: public long getKeepaliveTimeout() {
096: return _port.getKeepaliveTimeout();
097: }
098:
099: public long getSocketTimeout() {
100: return _port.getSocketTimeout();
101: }
102:
103: public long getSuspendTimeMax() {
104: return _port.getSuspendTimeMax();
105: }
106:
107: public String getState() {
108: return _port.getLifecycleState().getStateName();
109: }
110:
111: public int getThreadCount() {
112: return _port.getThreadCount();
113: }
114:
115: public int getThreadActiveCount() {
116: return _port.getActiveThreadCount();
117: }
118:
119: public int getThreadIdleCount() {
120: return _port.getIdleThreadCount();
121: }
122:
123: public int getKeepaliveCount() {
124: return _port.getKeepaliveConnectionCount();
125: }
126:
127: public int getKeepaliveThreadCount() {
128: return _port.getKeepaliveThreadCount();
129: }
130:
131: public int getKeepaliveSelectCount() {
132: return _port.getSelectConnectionCount();
133: }
134:
135: public int getCometIdleCount() {
136: return _port.getCometIdleCount();
137: }
138:
139: public long getRequestCountTotal() {
140: return _port.getLifetimeRequestCount();
141: }
142:
143: public long getKeepaliveCountTotal() {
144: return _port.getLifetimeKeepaliveCount();
145: }
146:
147: public long getClientDisconnectCountTotal() {
148: return _port.getLifetimeClientDisconnectCount();
149: }
150:
151: public long getRequestTimeTotal() {
152: return _port.getLifetimeRequestTime();
153: }
154:
155: public long getReadBytesTotal() {
156: return _port.getLifetimeReadBytes();
157: }
158:
159: public long getWriteBytesTotal() {
160: return _port.getLifetimeWriteBytes();
161: }
162:
163: //
164: // Operations
165: //
166:
167: /**
168: * Enable the port, letting it listening to new requests.
169: */
170: public void start() {
171: _port.enable();
172: }
173:
174: /**
175: * Disable the port, stopping it from listening to new requests.
176: */
177: public void stop() {
178: _port.disable();
179: }
180:
181: void register() {
182: registerSelf();
183: }
184:
185: public String toString() {
186: return "PortAdmin[" + getObjectName() + "]";
187: }
188:
189: }
|