Merge branch 'jetty-9' of ssh://git.eclipse.org/gitroot/jetty/org.eclipse.jetty.project into jetty-9
This commit is contained in:
commit
50d4babe90
|
@ -30,6 +30,8 @@ import javax.print.attribute.standard.MediaSize.ISO;
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
import org.eclipse.jetty.io.Connection;
|
import org.eclipse.jetty.io.Connection;
|
||||||
import org.eclipse.jetty.io.StandardByteBufferPool;
|
import org.eclipse.jetty.io.StandardByteBufferPool;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.AggregateLifeCycle;
|
import org.eclipse.jetty.util.component.AggregateLifeCycle;
|
||||||
import org.eclipse.jetty.util.component.Dumpable;
|
import org.eclipse.jetty.util.component.Dumpable;
|
||||||
import org.eclipse.jetty.util.log.Log;
|
import org.eclipse.jetty.util.log.Log;
|
||||||
|
@ -39,6 +41,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||||
/**
|
/**
|
||||||
* <p>Partial implementation of {@link Connector}</p>
|
* <p>Partial implementation of {@link Connector}</p>
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Abstract implementation of the Connector Interface")
|
||||||
public abstract class AbstractConnector extends AggregateLifeCycle implements Connector, Dumpable
|
public abstract class AbstractConnector extends AggregateLifeCycle implements Connector, Dumpable
|
||||||
{
|
{
|
||||||
protected final Logger LOG = Log.getLogger(getClass());
|
protected final Logger LOG = Log.getLogger(getClass());
|
||||||
|
@ -157,6 +160,7 @@ public abstract class AbstractConnector extends AggregateLifeCycle implements Co
|
||||||
/**
|
/**
|
||||||
* @return Returns the number of acceptor threads.
|
* @return Returns the number of acceptor threads.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of acceptor threads")
|
||||||
public int getAcceptors()
|
public int getAcceptors()
|
||||||
{
|
{
|
||||||
return _acceptors.length;
|
return _acceptors.length;
|
||||||
|
@ -328,6 +332,7 @@ public abstract class AbstractConnector extends AggregateLifeCycle implements Co
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ManagedAttribute("name of the connector")
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return _name;
|
return _name;
|
||||||
|
|
|
@ -17,6 +17,8 @@ import java.util.concurrent.Executor;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
|
||||||
import org.eclipse.jetty.io.ByteBufferPool;
|
import org.eclipse.jetty.io.ByteBufferPool;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.LifeCycle;
|
import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||||
|
|
||||||
|
@ -25,6 +27,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||||
* and allows applications to send data to remote peers, by setting up
|
* and allows applications to send data to remote peers, by setting up
|
||||||
* the machinery needed to handle such tasks.</p>
|
* the machinery needed to handle such tasks.</p>
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Connector Interface")
|
||||||
public interface Connector extends LifeCycle
|
public interface Connector extends LifeCycle
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -60,6 +63,7 @@ public interface Connector extends LifeCycle
|
||||||
/**
|
/**
|
||||||
* @return the dle timeout for connections in milliseconds
|
* @return the dle timeout for connections in milliseconds
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum time a connection can be idle before being closed (in ms)")
|
||||||
public long getIdleTimeout();
|
public long getIdleTimeout();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,6 +21,9 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.eclipse.jetty.server.handler.HandlerCollection;
|
import org.eclipse.jetty.server.handler.HandlerCollection;
|
||||||
import org.eclipse.jetty.server.handler.HandlerWrapper;
|
import org.eclipse.jetty.server.handler.HandlerWrapper;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
||||||
import org.eclipse.jetty.util.component.Destroyable;
|
import org.eclipse.jetty.util.component.Destroyable;
|
||||||
import org.eclipse.jetty.util.component.LifeCycle;
|
import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
|
|
||||||
|
@ -40,6 +43,7 @@ import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
* before passing it to the next stage of handling.
|
* before passing it to the next stage of handling.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Jetty Handler")
|
||||||
public interface Handler extends LifeCycle, Destroyable
|
public interface Handler extends LifeCycle, Destroyable
|
||||||
{
|
{
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ -59,8 +63,11 @@ public interface Handler extends LifeCycle, Destroyable
|
||||||
throws IOException, ServletException;
|
throws IOException, ServletException;
|
||||||
|
|
||||||
public void setServer(Server server);
|
public void setServer(Server server);
|
||||||
|
|
||||||
|
@ManagedAttribute(value="the jetty server for this handler", readonly=true)
|
||||||
public Server getServer();
|
public Server getServer();
|
||||||
|
|
||||||
|
@ManagedOperation(value="destroy associated resources", impact="ACTION")
|
||||||
public void destroy();
|
public void destroy();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
|
|
||||||
package org.eclipse.jetty.server;
|
package org.eclipse.jetty.server;
|
||||||
|
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.LifeCycle;
|
import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,18 +24,21 @@ import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
* or many (see {@link org.eclipse.jetty.server.handler.HandlerList} or {@link org.eclipse.jetty.server.handler.HandlerCollection}.
|
* or many (see {@link org.eclipse.jetty.server.handler.HandlerList} or {@link org.eclipse.jetty.server.handler.HandlerCollection}.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Handler of Multiple Handlers")
|
||||||
public interface HandlerContainer extends LifeCycle
|
public interface HandlerContainer extends LifeCycle
|
||||||
{
|
{
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
/**
|
/**
|
||||||
* @return array of handlers directly contained by this handler.
|
* @return array of handlers directly contained by this handler.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute(value="handlers in this container", managed=true)
|
||||||
public Handler[] getHandlers();
|
public Handler[] getHandlers();
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
/**
|
/**
|
||||||
* @return array of all handlers contained by this handler and it's children
|
* @return array of all handlers contained by this handler and it's children
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute(value="all contained handlers", managed=true)
|
||||||
public Handler[] getChildHandlers();
|
public Handler[] getChildHandlers();
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
|
|
@ -27,6 +27,8 @@ import org.eclipse.jetty.http.PathMap;
|
||||||
import org.eclipse.jetty.util.DateCache;
|
import org.eclipse.jetty.util.DateCache;
|
||||||
import org.eclipse.jetty.util.RolloverFileOutputStream;
|
import org.eclipse.jetty.util.RolloverFileOutputStream;
|
||||||
import org.eclipse.jetty.util.StringUtil;
|
import org.eclipse.jetty.util.StringUtil;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.AbstractLifeCycle;
|
import org.eclipse.jetty.util.component.AbstractLifeCycle;
|
||||||
import org.eclipse.jetty.util.log.Log;
|
import org.eclipse.jetty.util.log.Log;
|
||||||
import org.eclipse.jetty.util.log.Logger;
|
import org.eclipse.jetty.util.log.Logger;
|
||||||
|
@ -39,12 +41,12 @@ import org.eclipse.jetty.util.log.Logger;
|
||||||
* servers, and almost all web log analysis software can understand these
|
* servers, and almost all web log analysis software can understand these
|
||||||
* formats.
|
* formats.
|
||||||
*
|
*
|
||||||
* @org.apache.xbean.XBean element="ncsaLog"
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("NCSA standard format request log")
|
||||||
public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
{
|
{
|
||||||
private static final Logger LOG = Log.getLogger(NCSARequestLog.class);
|
private static final Logger LOG = Log.getLogger(NCSARequestLog.class);
|
||||||
|
@ -124,6 +126,7 @@ public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
*
|
*
|
||||||
* @return file name of the request log
|
* @return file name of the request log
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("file of log")
|
||||||
public String getFilename()
|
public String getFilename()
|
||||||
{
|
{
|
||||||
return _filename;
|
return _filename;
|
||||||
|
@ -206,6 +209,7 @@ public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
*
|
*
|
||||||
* @return timezone string
|
* @return timezone string
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("the timezone")
|
||||||
public String getLogTimeZone()
|
public String getLogTimeZone()
|
||||||
{
|
{
|
||||||
return _logTimeZone;
|
return _logTimeZone;
|
||||||
|
@ -228,6 +232,7 @@ public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
*
|
*
|
||||||
* @return number of days to keep a log file
|
* @return number of days to keep a log file
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of days that log files are kept")
|
||||||
public int getRetainDays()
|
public int getRetainDays()
|
||||||
{
|
{
|
||||||
return _retainDays;
|
return _retainDays;
|
||||||
|
@ -251,6 +256,7 @@ public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
*
|
*
|
||||||
* @return value of the flag
|
* @return value of the flag
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("use extended NCSA format")
|
||||||
public boolean isExtended()
|
public boolean isExtended()
|
||||||
{
|
{
|
||||||
return _extended;
|
return _extended;
|
||||||
|
@ -274,6 +280,7 @@ public class NCSARequestLog extends AbstractLifeCycle implements RequestLog
|
||||||
*
|
*
|
||||||
* @return value of the flag
|
* @return value of the flag
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("existing log files are appends to the new one")
|
||||||
public boolean isAppend()
|
public boolean isAppend()
|
||||||
{
|
{
|
||||||
return _append;
|
return _append;
|
||||||
|
|
|
@ -31,12 +31,14 @@ import org.eclipse.jetty.io.EndPoint;
|
||||||
import org.eclipse.jetty.io.SelectChannelEndPoint;
|
import org.eclipse.jetty.io.SelectChannelEndPoint;
|
||||||
import org.eclipse.jetty.io.SelectorManager;
|
import org.eclipse.jetty.io.SelectorManager;
|
||||||
import org.eclipse.jetty.io.SelectorManager.ManagedSelector;
|
import org.eclipse.jetty.io.SelectorManager.ManagedSelector;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.annotation.Name;
|
import org.eclipse.jetty.util.annotation.Name;
|
||||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Implementation of {@link NetworkConnector} based on NIO classes.</p>
|
* <p>Implementation of {@link NetworkConnector} based on NIO classes.</p>
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("HTTP connector using NIO ByteChannels and Selectors")
|
||||||
public class SelectChannelConnector extends AbstractNetworkConnector
|
public class SelectChannelConnector extends AbstractNetworkConnector
|
||||||
{
|
{
|
||||||
private final SelectorManager _manager;
|
private final SelectorManager _manager;
|
||||||
|
|
|
@ -33,6 +33,8 @@ import org.eclipse.jetty.util.AttributesMap;
|
||||||
import org.eclipse.jetty.util.MultiException;
|
import org.eclipse.jetty.util.MultiException;
|
||||||
import org.eclipse.jetty.util.TypeUtil;
|
import org.eclipse.jetty.util.TypeUtil;
|
||||||
import org.eclipse.jetty.util.URIUtil;
|
import org.eclipse.jetty.util.URIUtil;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.Container;
|
import org.eclipse.jetty.util.component.Container;
|
||||||
import org.eclipse.jetty.util.component.Destroyable;
|
import org.eclipse.jetty.util.component.Destroyable;
|
||||||
import org.eclipse.jetty.util.component.Dumpable;
|
import org.eclipse.jetty.util.component.Dumpable;
|
||||||
|
@ -50,6 +52,7 @@ import org.eclipse.jetty.util.thread.ThreadPool;
|
||||||
* The server is itself a handler and a ThreadPool. Connectors use the ThreadPool methods
|
* The server is itself a handler and a ThreadPool. Connectors use the ThreadPool methods
|
||||||
* to run jobs that will eventually call the handle method.
|
* to run jobs that will eventually call the handle method.
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject(value="Jetty HTTP Servlet server", wrapper="org.eclipse.jetty.server.ServerMBean")
|
||||||
public class Server extends HandlerWrapper implements Attributes
|
public class Server extends HandlerWrapper implements Attributes
|
||||||
{
|
{
|
||||||
private static final Logger LOG = Log.getLogger(Server.class);
|
private static final Logger LOG = Log.getLogger(Server.class);
|
||||||
|
@ -120,6 +123,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("version of this server")
|
||||||
public static String getVersion()
|
public static String getVersion()
|
||||||
{
|
{
|
||||||
return __version;
|
return __version;
|
||||||
|
@ -164,6 +168,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
/**
|
/**
|
||||||
* @return Returns the connectors.
|
* @return Returns the connectors.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute(value="connectors for this server", managed=true)
|
||||||
public Connector[] getConnectors()
|
public Connector[] getConnectors()
|
||||||
{
|
{
|
||||||
List<Connector> connectors = new ArrayList<>(_connectors);
|
List<Connector> connectors = new ArrayList<>(_connectors);
|
||||||
|
@ -217,6 +222,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
/**
|
/**
|
||||||
* @return Returns the threadPool.
|
* @return Returns the threadPool.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute(value="the server thread pool", managed=true)
|
||||||
public ThreadPool getThreadPool()
|
public ThreadPool getThreadPool()
|
||||||
{
|
{
|
||||||
return _threadPool;
|
return _threadPool;
|
||||||
|
@ -225,6 +231,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
/**
|
/**
|
||||||
* @return true if {@link #dumpStdErr()} is called after starting
|
* @return true if {@link #dumpStdErr()} is called after starting
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("dump state to stderr after start")
|
||||||
public boolean isDumpAfterStart()
|
public boolean isDumpAfterStart()
|
||||||
{
|
{
|
||||||
return _dumpAfterStart;
|
return _dumpAfterStart;
|
||||||
|
@ -241,6 +248,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
/**
|
/**
|
||||||
* @return true if {@link #dumpStdErr()} is called before stopping
|
* @return true if {@link #dumpStdErr()} is called before stopping
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("dump state to stderr before stop")
|
||||||
public boolean isDumpBeforeStop()
|
public boolean isDumpBeforeStop()
|
||||||
{
|
{
|
||||||
return _dumpBeforeStop;
|
return _dumpBeforeStop;
|
||||||
|
@ -478,6 +486,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("if true, include the server version in HTTP headers")
|
||||||
public boolean getSendServerVersion()
|
public boolean getSendServerVersion()
|
||||||
{
|
{
|
||||||
return _sendServerVersion;
|
return _sendServerVersion;
|
||||||
|
@ -490,6 +499,7 @@ public class Server extends HandlerWrapper implements Attributes
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("if true, include the date in HTTP headers")
|
||||||
public boolean getSendDateHeader()
|
public boolean getSendDateHeader()
|
||||||
{
|
{
|
||||||
return _sendDateHeader;
|
return _sendDateHeader;
|
||||||
|
|
|
@ -18,6 +18,7 @@ import java.io.IOException;
|
||||||
|
|
||||||
import org.eclipse.jetty.server.Handler;
|
import org.eclipse.jetty.server.Handler;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.AggregateLifeCycle;
|
import org.eclipse.jetty.util.component.AggregateLifeCycle;
|
||||||
import org.eclipse.jetty.util.log.Log;
|
import org.eclipse.jetty.util.log.Log;
|
||||||
import org.eclipse.jetty.util.log.Logger;
|
import org.eclipse.jetty.util.log.Logger;
|
||||||
|
@ -28,6 +29,7 @@ import org.eclipse.jetty.util.log.Logger;
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Jetty Handler")
|
||||||
public abstract class AbstractHandler extends AggregateLifeCycle implements Handler
|
public abstract class AbstractHandler extends AggregateLifeCycle implements Handler
|
||||||
{
|
{
|
||||||
private static final Logger LOG = Log.getLogger(AbstractHandler.class);
|
private static final Logger LOG = Log.getLogger(AbstractHandler.class);
|
||||||
|
|
|
@ -624,7 +624,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Server.
|
||||||
/**
|
/**
|
||||||
* @return true if this context is accepting new requests
|
* @return true if this context is accepting new requests
|
||||||
*/
|
*/
|
||||||
@ManagedAttribute("False if this context is accepting new requests. True for graceful shutdown, which allows existing requests to complete")
|
@ManagedAttribute("false if this context is accepting new requests. true for graceful shutdown, which allows existing requests to complete")
|
||||||
public boolean isShutdown()
|
public boolean isShutdown()
|
||||||
{
|
{
|
||||||
synchronized (this)
|
synchronized (this)
|
||||||
|
@ -1360,6 +1360,7 @@ public class ContextHandler extends ScopedHandler implements Attributes, Server.
|
||||||
/**
|
/**
|
||||||
* @return True if aliases are allowed
|
* @return True if aliases are allowed
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("true if alias checking is performed on resource")
|
||||||
public boolean isAliases()
|
public boolean isAliases()
|
||||||
{
|
{
|
||||||
return _aliases;
|
return _aliases;
|
||||||
|
|
|
@ -27,6 +27,8 @@ import org.eclipse.jetty.server.HandlerContainer;
|
||||||
import org.eclipse.jetty.server.HttpChannelState;
|
import org.eclipse.jetty.server.HttpChannelState;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.util.LazyList;
|
import org.eclipse.jetty.util.LazyList;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
||||||
import org.eclipse.jetty.util.log.Log;
|
import org.eclipse.jetty.util.log.Log;
|
||||||
import org.eclipse.jetty.util.log.Logger;
|
import org.eclipse.jetty.util.log.Logger;
|
||||||
|
|
||||||
|
@ -40,8 +42,8 @@ import org.eclipse.jetty.util.log.Logger;
|
||||||
* Multiple contexts may have the same context path and they are called in order until one
|
* Multiple contexts may have the same context path and they are called in order until one
|
||||||
* handles the request.
|
* handles the request.
|
||||||
*
|
*
|
||||||
* @org.apache.xbean.XBean element="contexts"
|
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Context Handler Collection")
|
||||||
public class ContextHandlerCollection extends HandlerCollection
|
public class ContextHandlerCollection extends HandlerCollection
|
||||||
{
|
{
|
||||||
private static final Logger LOG = Log.getLogger(ContextHandlerCollection.class);
|
private static final Logger LOG = Log.getLogger(ContextHandlerCollection.class);
|
||||||
|
@ -60,6 +62,7 @@ public class ContextHandlerCollection extends HandlerCollection
|
||||||
/**
|
/**
|
||||||
* Remap the context paths.
|
* Remap the context paths.
|
||||||
*/
|
*/
|
||||||
|
@ManagedOperation("update the mapping of context path to context")
|
||||||
public void mapContexts()
|
public void mapContexts()
|
||||||
{
|
{
|
||||||
PathMap<Object> contextMap = new PathMap<Object>();
|
PathMap<Object> contextMap = new PathMap<Object>();
|
||||||
|
|
|
@ -26,6 +26,8 @@ import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.util.ArrayUtil;
|
import org.eclipse.jetty.util.ArrayUtil;
|
||||||
import org.eclipse.jetty.util.MultiException;
|
import org.eclipse.jetty.util.MultiException;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
/** A collection of handlers.
|
/** A collection of handlers.
|
||||||
|
@ -36,8 +38,8 @@ import org.eclipse.jetty.util.MultiException;
|
||||||
* handlers.
|
* handlers.
|
||||||
* <p>
|
* <p>
|
||||||
*
|
*
|
||||||
* @org.apache.xbean.XBean
|
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Handler of multiple handlers")
|
||||||
public class HandlerCollection extends AbstractHandlerContainer
|
public class HandlerCollection extends AbstractHandlerContainer
|
||||||
{
|
{
|
||||||
private final boolean _mutableWhenRunning;
|
private final boolean _mutableWhenRunning;
|
||||||
|
@ -61,6 +63,7 @@ public class HandlerCollection extends AbstractHandlerContainer
|
||||||
* @return Returns the handlers.
|
* @return Returns the handlers.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@ManagedAttribute(value="Wrapped handlers", managed=true)
|
||||||
public Handler[] getHandlers()
|
public Handler[] getHandlers()
|
||||||
{
|
{
|
||||||
return _handlers;
|
return _handlers;
|
||||||
|
|
|
@ -23,6 +23,8 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
import org.eclipse.jetty.server.Handler;
|
import org.eclipse.jetty.server.Handler;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.component.LifeCycle;
|
import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ -30,6 +32,7 @@ import org.eclipse.jetty.util.component.LifeCycle;
|
||||||
* {@link LifeCycle life cycle} events to a delegate. This is primarily used to implement the <i>Decorator</i> pattern.
|
* {@link LifeCycle life cycle} events to a delegate. This is primarily used to implement the <i>Decorator</i> pattern.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("Handler wrapping another Handler")
|
||||||
public class HandlerWrapper extends AbstractHandlerContainer
|
public class HandlerWrapper extends AbstractHandlerContainer
|
||||||
{
|
{
|
||||||
protected Handler _handler;
|
protected Handler _handler;
|
||||||
|
@ -46,6 +49,7 @@ public class HandlerWrapper extends AbstractHandlerContainer
|
||||||
/**
|
/**
|
||||||
* @return Returns the handlers.
|
* @return Returns the handlers.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute(value="Wrapped Handler", managed=true)
|
||||||
public Handler getHandler()
|
public Handler getHandler()
|
||||||
{
|
{
|
||||||
return _handler;
|
return _handler;
|
||||||
|
|
|
@ -26,9 +26,13 @@ import org.eclipse.jetty.continuation.ContinuationListener;
|
||||||
import org.eclipse.jetty.server.HttpChannelState;
|
import org.eclipse.jetty.server.HttpChannelState;
|
||||||
import org.eclipse.jetty.server.Request;
|
import org.eclipse.jetty.server.Request;
|
||||||
import org.eclipse.jetty.server.Response;
|
import org.eclipse.jetty.server.Response;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
||||||
import org.eclipse.jetty.util.statistic.CounterStatistic;
|
import org.eclipse.jetty.util.statistic.CounterStatistic;
|
||||||
import org.eclipse.jetty.util.statistic.SampleStatistic;
|
import org.eclipse.jetty.util.statistic.SampleStatistic;
|
||||||
|
|
||||||
|
@ManagedObject("Request Statistics Gathering")
|
||||||
public class StatisticsHandler extends HandlerWrapper
|
public class StatisticsHandler extends HandlerWrapper
|
||||||
{
|
{
|
||||||
private final AtomicLong _statsStartedAt = new AtomicLong();
|
private final AtomicLong _statsStartedAt = new AtomicLong();
|
||||||
|
@ -74,6 +78,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
/**
|
/**
|
||||||
* Resets the current request statistics.
|
* Resets the current request statistics.
|
||||||
*/
|
*/
|
||||||
|
@ManagedOperation(value="resets statistics", impact="ACTION")
|
||||||
public void statsReset()
|
public void statsReset()
|
||||||
{
|
{
|
||||||
_statsStartedAt.set(System.currentTimeMillis());
|
_statsStartedAt.set(System.currentTimeMillis());
|
||||||
|
@ -189,6 +194,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* active requests
|
* active requests
|
||||||
* @see #getResumes()
|
* @see #getResumes()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests")
|
||||||
public int getRequests()
|
public int getRequests()
|
||||||
{
|
{
|
||||||
return (int)_requestStats.getTotal();
|
return (int)_requestStats.getTotal();
|
||||||
|
@ -198,6 +204,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of requests currently active.
|
* @return the number of requests currently active.
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests currently active")
|
||||||
public int getRequestsActive()
|
public int getRequestsActive()
|
||||||
{
|
{
|
||||||
return (int)_requestStats.getCurrent();
|
return (int)_requestStats.getCurrent();
|
||||||
|
@ -207,6 +214,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the maximum number of active requests
|
* @return the maximum number of active requests
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum number of active requests")
|
||||||
public int getRequestsActiveMax()
|
public int getRequestsActiveMax()
|
||||||
{
|
{
|
||||||
return (int)_requestStats.getMax();
|
return (int)_requestStats.getMax();
|
||||||
|
@ -216,6 +224,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the maximum time (in milliseconds) of request handling
|
* @return the maximum time (in milliseconds) of request handling
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum time spend handling requests (in ms)")
|
||||||
public long getRequestTimeMax()
|
public long getRequestTimeMax()
|
||||||
{
|
{
|
||||||
return _requestTimeStats.getMax();
|
return _requestTimeStats.getMax();
|
||||||
|
@ -225,6 +234,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the total time (in milliseconds) of requests handling
|
* @return the total time (in milliseconds) of requests handling
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("total time spend in all request handling (in ms)")
|
||||||
public long getRequestTimeTotal()
|
public long getRequestTimeTotal()
|
||||||
{
|
{
|
||||||
return _requestTimeStats.getTotal();
|
return _requestTimeStats.getTotal();
|
||||||
|
@ -236,6 +246,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @see #getRequestTimeTotal()
|
* @see #getRequestTimeTotal()
|
||||||
* @see #getRequests()
|
* @see #getRequests()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("mean time spent handling requests (in ms)")
|
||||||
public double getRequestTimeMean()
|
public double getRequestTimeMean()
|
||||||
{
|
{
|
||||||
return _requestTimeStats.getMean();
|
return _requestTimeStats.getMean();
|
||||||
|
@ -247,6 +258,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @see #getRequestTimeTotal()
|
* @see #getRequestTimeTotal()
|
||||||
* @see #getRequests()
|
* @see #getRequests()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("standard deviation for request handling (in ms)")
|
||||||
public double getRequestTimeStdDev()
|
public double getRequestTimeStdDev()
|
||||||
{
|
{
|
||||||
return _requestTimeStats.getStdDev();
|
return _requestTimeStats.getStdDev();
|
||||||
|
@ -257,6 +269,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* since {@link #statsReset()} was last called, excluding
|
* since {@link #statsReset()} was last called, excluding
|
||||||
* active dispatches
|
* active dispatches
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of dispatches")
|
||||||
public int getDispatched()
|
public int getDispatched()
|
||||||
{
|
{
|
||||||
return (int)_dispatchedStats.getTotal();
|
return (int)_dispatchedStats.getTotal();
|
||||||
|
@ -267,6 +280,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* since {@link #statsReset()} was last called, including
|
* since {@link #statsReset()} was last called, including
|
||||||
* resumed requests
|
* resumed requests
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of dispatches currently active")
|
||||||
public int getDispatchedActive()
|
public int getDispatchedActive()
|
||||||
{
|
{
|
||||||
return (int)_dispatchedStats.getCurrent();
|
return (int)_dispatchedStats.getCurrent();
|
||||||
|
@ -277,6 +291,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* since {@link #statsReset()} was last called, including
|
* since {@link #statsReset()} was last called, including
|
||||||
* resumed requests
|
* resumed requests
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum number of active dispatches being handled")
|
||||||
public int getDispatchedActiveMax()
|
public int getDispatchedActiveMax()
|
||||||
{
|
{
|
||||||
return (int)_dispatchedStats.getMax();
|
return (int)_dispatchedStats.getMax();
|
||||||
|
@ -286,6 +301,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the maximum time (in milliseconds) of request dispatch
|
* @return the maximum time (in milliseconds) of request dispatch
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum time spend in dispatch handling")
|
||||||
public long getDispatchedTimeMax()
|
public long getDispatchedTimeMax()
|
||||||
{
|
{
|
||||||
return _dispatchedTimeStats.getMax();
|
return _dispatchedTimeStats.getMax();
|
||||||
|
@ -295,6 +311,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the total time (in milliseconds) of requests handling
|
* @return the total time (in milliseconds) of requests handling
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("total time spent in dispatch handling (in ms)")
|
||||||
public long getDispatchedTimeTotal()
|
public long getDispatchedTimeTotal()
|
||||||
{
|
{
|
||||||
return _dispatchedTimeStats.getTotal();
|
return _dispatchedTimeStats.getTotal();
|
||||||
|
@ -306,6 +323,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @see #getRequestTimeTotal()
|
* @see #getRequestTimeTotal()
|
||||||
* @see #getRequests()
|
* @see #getRequests()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("mean time spent in dispatch handling (in ms)")
|
||||||
public double getDispatchedTimeMean()
|
public double getDispatchedTimeMean()
|
||||||
{
|
{
|
||||||
return _dispatchedTimeStats.getMean();
|
return _dispatchedTimeStats.getMean();
|
||||||
|
@ -317,6 +335,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @see #getRequestTimeTotal()
|
* @see #getRequestTimeTotal()
|
||||||
* @see #getRequests()
|
* @see #getRequests()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("standard deviation for dispatch handling (in ms)")
|
||||||
public double getDispatchedTimeStdDev()
|
public double getDispatchedTimeStdDev()
|
||||||
{
|
{
|
||||||
return _dispatchedTimeStats.getStdDev();
|
return _dispatchedTimeStats.getStdDev();
|
||||||
|
@ -328,6 +347,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* resumed requests
|
* resumed requests
|
||||||
* @see #getResumes()
|
* @see #getResumes()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests suspended")
|
||||||
public int getSuspends()
|
public int getSuspends()
|
||||||
{
|
{
|
||||||
return (int)_suspendStats.getTotal();
|
return (int)_suspendStats.getTotal();
|
||||||
|
@ -337,6 +357,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of requests currently suspended.
|
* @return the number of requests currently suspended.
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of currently suspended requests")
|
||||||
public int getSuspendsActive()
|
public int getSuspendsActive()
|
||||||
{
|
{
|
||||||
return (int)_suspendStats.getCurrent();
|
return (int)_suspendStats.getCurrent();
|
||||||
|
@ -346,6 +367,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the maximum number of current suspended requests
|
* @return the maximum number of current suspended requests
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum number of suspended requests")
|
||||||
public int getSuspendsActiveMax()
|
public int getSuspendsActiveMax()
|
||||||
{
|
{
|
||||||
return (int)_suspendStats.getMax();
|
return (int)_suspendStats.getMax();
|
||||||
|
@ -355,6 +377,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of requests that have been resumed
|
* @return the number of requests that have been resumed
|
||||||
* @see #getExpires()
|
* @see #getExpires()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requested that have been resumed")
|
||||||
public int getResumes()
|
public int getResumes()
|
||||||
{
|
{
|
||||||
return _resumes.get();
|
return _resumes.get();
|
||||||
|
@ -364,6 +387,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of requests that expired while suspended.
|
* @return the number of requests that expired while suspended.
|
||||||
* @see #getResumes()
|
* @see #getResumes()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests have have expired")
|
||||||
public int getExpires()
|
public int getExpires()
|
||||||
{
|
{
|
||||||
return _expires.get();
|
return _expires.get();
|
||||||
|
@ -373,6 +397,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of responses with a 1xx status returned by this context
|
* @return the number of responses with a 1xx status returned by this context
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests with 1xx response status")
|
||||||
public int getResponses1xx()
|
public int getResponses1xx()
|
||||||
{
|
{
|
||||||
return _responses1xx.get();
|
return _responses1xx.get();
|
||||||
|
@ -382,6 +407,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of responses with a 2xx status returned by this context
|
* @return the number of responses with a 2xx status returned by this context
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests with 2xx response status")
|
||||||
public int getResponses2xx()
|
public int getResponses2xx()
|
||||||
{
|
{
|
||||||
return _responses2xx.get();
|
return _responses2xx.get();
|
||||||
|
@ -391,6 +417,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of responses with a 3xx status returned by this context
|
* @return the number of responses with a 3xx status returned by this context
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests with 3xx response status")
|
||||||
public int getResponses3xx()
|
public int getResponses3xx()
|
||||||
{
|
{
|
||||||
return _responses3xx.get();
|
return _responses3xx.get();
|
||||||
|
@ -400,6 +427,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of responses with a 4xx status returned by this context
|
* @return the number of responses with a 4xx status returned by this context
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests with 4xx response status")
|
||||||
public int getResponses4xx()
|
public int getResponses4xx()
|
||||||
{
|
{
|
||||||
return _responses4xx.get();
|
return _responses4xx.get();
|
||||||
|
@ -409,6 +437,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
* @return the number of responses with a 5xx status returned by this context
|
* @return the number of responses with a 5xx status returned by this context
|
||||||
* since {@link #statsReset()} was last called.
|
* since {@link #statsReset()} was last called.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("number of requests with 5xx response status")
|
||||||
public int getResponses5xx()
|
public int getResponses5xx()
|
||||||
{
|
{
|
||||||
return _responses5xx.get();
|
return _responses5xx.get();
|
||||||
|
@ -417,6 +446,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
/**
|
/**
|
||||||
* @return the milliseconds since the statistics were started with {@link #statsReset()}.
|
* @return the milliseconds since the statistics were started with {@link #statsReset()}.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("time in milliseconds stats have been collected for")
|
||||||
public long getStatsOnMs()
|
public long getStatsOnMs()
|
||||||
{
|
{
|
||||||
return System.currentTimeMillis() - _statsStartedAt.get();
|
return System.currentTimeMillis() - _statsStartedAt.get();
|
||||||
|
@ -425,6 +455,7 @@ public class StatisticsHandler extends HandlerWrapper
|
||||||
/**
|
/**
|
||||||
* @return the total bytes of content sent in responses
|
* @return the total bytes of content sent in responses
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("total number of bytes across all responses")
|
||||||
public long getResponsesBytesTotal()
|
public long getResponsesBytesTotal()
|
||||||
{
|
{
|
||||||
return _responsesTotalBytes.get();
|
return _responsesTotalBytes.get();
|
||||||
|
|
|
@ -20,9 +20,11 @@ import java.util.Map;
|
||||||
import org.eclipse.jetty.server.handler.ContextHandler;
|
import org.eclipse.jetty.server.handler.ContextHandler;
|
||||||
import org.eclipse.jetty.util.Attributes;
|
import org.eclipse.jetty.util.Attributes;
|
||||||
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
||||||
import org.eclipse.jetty.util.annotation.Name;
|
import org.eclipse.jetty.util.annotation.Name;
|
||||||
|
|
||||||
|
@ManagedObject("ContextHandler mbean wrapper")
|
||||||
public class ContextHandlerMBean extends AbstractHandlerMBean
|
public class ContextHandlerMBean extends AbstractHandlerMBean
|
||||||
{
|
{
|
||||||
public ContextHandlerMBean(Object managedObject)
|
public ContextHandlerMBean(Object managedObject)
|
||||||
|
|
|
@ -17,10 +17,13 @@ import org.eclipse.jetty.jmx.ObjectMBean;
|
||||||
import org.eclipse.jetty.server.Handler;
|
import org.eclipse.jetty.server.Handler;
|
||||||
import org.eclipse.jetty.server.Server;
|
import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.handler.ContextHandler;
|
import org.eclipse.jetty.server.handler.ContextHandler;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ManagedObject("MBean Wrapper for Server")
|
||||||
public class ServerMBean extends ObjectMBean
|
public class ServerMBean extends ObjectMBean
|
||||||
{
|
{
|
||||||
private final long startupTime;
|
private final long startupTime;
|
||||||
|
@ -33,11 +36,13 @@ public class ServerMBean extends ObjectMBean
|
||||||
server = (Server)managedObject;
|
server = (Server)managedObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ManagedAttribute(value="contexts on this server", managed=true)
|
||||||
public Handler[] getContexts()
|
public Handler[] getContexts()
|
||||||
{
|
{
|
||||||
return server.getChildHandlersByClass(ContextHandler.class);
|
return server.getChildHandlersByClass(ContextHandler.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ManagedAttribute("the startup time since January 1st, 1970 (in ms)")
|
||||||
public long getStartupTime()
|
public long getStartupTime()
|
||||||
{
|
{
|
||||||
return startupTime;
|
return startupTime;
|
||||||
|
|
|
@ -40,6 +40,9 @@ import org.eclipse.jetty.server.Server;
|
||||||
import org.eclipse.jetty.server.SessionIdManager;
|
import org.eclipse.jetty.server.SessionIdManager;
|
||||||
import org.eclipse.jetty.server.SessionManager;
|
import org.eclipse.jetty.server.SessionManager;
|
||||||
import org.eclipse.jetty.server.handler.ContextHandler;
|
import org.eclipse.jetty.server.handler.ContextHandler;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedAttribute;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedObject;
|
||||||
|
import org.eclipse.jetty.util.annotation.ManagedOperation;
|
||||||
import org.eclipse.jetty.util.component.AbstractLifeCycle;
|
import org.eclipse.jetty.util.component.AbstractLifeCycle;
|
||||||
import org.eclipse.jetty.util.log.Logger;
|
import org.eclipse.jetty.util.log.Logger;
|
||||||
import org.eclipse.jetty.util.statistic.CounterStatistic;
|
import org.eclipse.jetty.util.statistic.CounterStatistic;
|
||||||
|
@ -56,6 +59,7 @@ import org.eclipse.jetty.util.statistic.SampleStatistic;
|
||||||
* <p>
|
* <p>
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
|
@ManagedObject("Abstract Session Manager")
|
||||||
public abstract class AbstractSessionManager extends AbstractLifeCycle implements SessionManager
|
public abstract class AbstractSessionManager extends AbstractLifeCycle implements SessionManager
|
||||||
{
|
{
|
||||||
final static Logger __log = SessionHandler.LOG;
|
final static Logger __log = SessionHandler.LOG;
|
||||||
|
@ -135,11 +139,13 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
return _context.getContextHandler();
|
return _context.getContextHandler();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ManagedAttribute("path of the session cookie, or null for default")
|
||||||
public String getSessionPath()
|
public String getSessionPath()
|
||||||
{
|
{
|
||||||
return _sessionPath;
|
return _sessionPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ManagedAttribute("if greater the zero, the time in seconds a session cookie will last for")
|
||||||
public int getMaxCookieAge()
|
public int getMaxCookieAge()
|
||||||
{
|
{
|
||||||
return _maxCookieAge;
|
return _maxCookieAge;
|
||||||
|
@ -266,6 +272,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return Returns the httpOnly.
|
* @return Returns the httpOnly.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("true if cookies use the http only flag")
|
||||||
public boolean getHttpOnly()
|
public boolean getHttpOnly()
|
||||||
{
|
{
|
||||||
return _httpOnly;
|
return _httpOnly;
|
||||||
|
@ -296,6 +303,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return Returns the SessionIdManager used for cross context session management
|
* @return Returns the SessionIdManager used for cross context session management
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("Session ID Manager")
|
||||||
public SessionIdManager getSessionIdManager()
|
public SessionIdManager getSessionIdManager()
|
||||||
{
|
{
|
||||||
return _sessionIdManager;
|
return _sessionIdManager;
|
||||||
|
@ -307,6 +315,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
* @return seconds
|
* @return seconds
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
|
@ManagedAttribute("defailt maximum time a session may be idle for (in s)")
|
||||||
public int getMaxInactiveInterval()
|
public int getMaxInactiveInterval()
|
||||||
{
|
{
|
||||||
return _dftMaxIdleSecs;
|
return _dftMaxIdleSecs;
|
||||||
|
@ -326,6 +335,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return maximum number of sessions
|
* @return maximum number of sessions
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum number of simultaneous sessions")
|
||||||
public int getSessionsMax()
|
public int getSessionsMax()
|
||||||
{
|
{
|
||||||
return (int)_sessionsStats.getMax();
|
return (int)_sessionsStats.getMax();
|
||||||
|
@ -335,6 +345,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return total number of sessions
|
* @return total number of sessions
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("total number of sessions")
|
||||||
public int getSessionsTotal()
|
public int getSessionsTotal()
|
||||||
{
|
{
|
||||||
return (int)_sessionsStats.getTotal();
|
return (int)_sessionsStats.getTotal();
|
||||||
|
@ -361,6 +372,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("time before a session cookie is re-set (in s)")
|
||||||
public int getRefreshCookieAge()
|
public int getRefreshCookieAge()
|
||||||
{
|
{
|
||||||
return _refreshCookieAge;
|
return _refreshCookieAge;
|
||||||
|
@ -373,6 +385,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
* cookies are ALWAYS marked as secure. If false, a session cookie is
|
* cookies are ALWAYS marked as secure. If false, a session cookie is
|
||||||
* ONLY marked as secure if _secureRequestOnly == true and it is a HTTPS request.
|
* ONLY marked as secure if _secureRequestOnly == true and it is a HTTPS request.
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("if true, secure cookie flag is set on session cookies")
|
||||||
public boolean getSecureCookies()
|
public boolean getSecureCookies()
|
||||||
{
|
{
|
||||||
return _secureCookies;
|
return _secureCookies;
|
||||||
|
@ -402,6 +415,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("the set session cookie")
|
||||||
public String getSessionCookie()
|
public String getSessionCookie()
|
||||||
{
|
{
|
||||||
return _sessionCookie;
|
return _sessionCookie;
|
||||||
|
@ -471,6 +485,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ManagedAttribute("domain of the session cookie, or null for the default")
|
||||||
public String getSessionDomain()
|
public String getSessionDomain()
|
||||||
{
|
{
|
||||||
return _sessionDomain;
|
return _sessionDomain;
|
||||||
|
@ -498,12 +513,14 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("number of currently active sessions")
|
||||||
public int getSessions()
|
public int getSessions()
|
||||||
{
|
{
|
||||||
return (int)_sessionsStats.getCurrent();
|
return (int)_sessionsStats.getCurrent();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------ */
|
/* ------------------------------------------------------------ */
|
||||||
|
@ManagedAttribute("name of use for URL session tracking")
|
||||||
public String getSessionIdPathParameterName()
|
public String getSessionIdPathParameterName()
|
||||||
{
|
{
|
||||||
return _sessionIdPathParameterName;
|
return _sessionIdPathParameterName;
|
||||||
|
@ -580,6 +597,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* Reset statistics values
|
* Reset statistics values
|
||||||
*/
|
*/
|
||||||
|
@ManagedOperation(value="reset statistics", impact="ACTION")
|
||||||
public void statsReset()
|
public void statsReset()
|
||||||
{
|
{
|
||||||
_sessionsStats.reset(getSessions());
|
_sessionsStats.reset(getSessions());
|
||||||
|
@ -784,6 +802,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return maximum amount of time session remained valid
|
* @return maximum amount of time session remained valid
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("maximum amount of time sessions have remained active (in s)")
|
||||||
public long getSessionTimeMax()
|
public long getSessionTimeMax()
|
||||||
{
|
{
|
||||||
return _sessionTimeStats.getMax();
|
return _sessionTimeStats.getMax();
|
||||||
|
@ -919,6 +938,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return total amount of time all sessions remained valid
|
* @return total amount of time all sessions remained valid
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("total time sessions have remained valid")
|
||||||
public long getSessionTimeTotal()
|
public long getSessionTimeTotal()
|
||||||
{
|
{
|
||||||
return _sessionTimeStats.getTotal();
|
return _sessionTimeStats.getTotal();
|
||||||
|
@ -928,6 +948,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return mean amount of time session remained valid
|
* @return mean amount of time session remained valid
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("mean time sessions remain valid (in s)")
|
||||||
public double getSessionTimeMean()
|
public double getSessionTimeMean()
|
||||||
{
|
{
|
||||||
return _sessionTimeStats.getMean();
|
return _sessionTimeStats.getMean();
|
||||||
|
@ -937,6 +958,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @return standard deviation of amount of time session remained valid
|
* @return standard deviation of amount of time session remained valid
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("standard deviation a session remained valid (in s)")
|
||||||
public double getSessionTimeStdDev()
|
public double getSessionTimeStdDev()
|
||||||
{
|
{
|
||||||
return _sessionTimeStats.getStdDev();
|
return _sessionTimeStats.getStdDev();
|
||||||
|
@ -946,6 +968,7 @@ public abstract class AbstractSessionManager extends AbstractLifeCycle implement
|
||||||
/**
|
/**
|
||||||
* @see org.eclipse.jetty.server.SessionManager#isCheckingRemoteSessionIdEncoding()
|
* @see org.eclipse.jetty.server.SessionManager#isCheckingRemoteSessionIdEncoding()
|
||||||
*/
|
*/
|
||||||
|
@ManagedAttribute("check remote session id encoding")
|
||||||
public boolean isCheckingRemoteSessionIdEncoding()
|
public boolean isCheckingRemoteSessionIdEncoding()
|
||||||
{
|
{
|
||||||
return _checkingRemoteSessionIdEncoding;
|
return _checkingRemoteSessionIdEncoding;
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
AbstractHandler: Jetty Handler.
|
|
|
@ -1,24 +0,0 @@
|
||||||
ContextHandler: URI Context
|
|
||||||
aliases: True if alias checking is performed on resource
|
|
||||||
allowNullPathInfo: Checks if the /context is not redirected to /context/
|
|
||||||
classPath: RO: The file classpath
|
|
||||||
compactPath: True if URLs are compacted to replace the multiple '/'s with a single '/'
|
|
||||||
connectorNames: Names and ports of accepted connectors
|
|
||||||
contextAttributes: RO:MBean: Map of context attributes
|
|
||||||
contextPath: URI prefix of context
|
|
||||||
displayName: RO: Display name of the Context
|
|
||||||
errorHandler: MObject: The error handler to use for the context
|
|
||||||
initParams: Initial Parameter map for the context
|
|
||||||
maxFormContentSize: The maximum content size
|
|
||||||
removeContextAttribute(java.lang.String): MBean:ACTION: remove context attribute
|
|
||||||
removeContextAttribute(java.lang.String)[0]: name: The attribute name
|
|
||||||
resourceBase: Document root for the context
|
|
||||||
setContextAttribute(java.lang.String,java.lang.Object): MBean:ACTION: Set context attribute
|
|
||||||
setContextAttribute(java.lang.String,java.lang.Object)[0]: name: The attribute name
|
|
||||||
setContextAttribute(java.lang.String,java.lang.Object)[1]: value: The attribute value
|
|
||||||
setContextAttribute(java.lang.String,java.lang.String): MBean:ACTION: Set context attribute
|
|
||||||
setContextAttribute(java.lang.String,java.lang.String)[0]: name: The attribute name
|
|
||||||
setContextAttribute(java.lang.String,java.lang.String)[1]: value: The attribute value
|
|
||||||
shutdown: False if this context is accepting new requests. True for graceful shutdown, which allows existing requests to complete
|
|
||||||
virtualHosts: Virtual hosts accepted by the context
|
|
||||||
welcomeFiles: Partial URIs of directory welcome files
|
|
|
@ -1,2 +0,0 @@
|
||||||
ContextHandlerCollection: Context Handler Collection
|
|
||||||
mapContexts(): Update the mapping of context path to context
|
|
|
@ -1,2 +0,0 @@
|
||||||
HandlerCollection: Handler of multiple Handlers
|
|
||||||
handlers: MObject:Wrapped handlers
|
|
|
@ -1,2 +0,0 @@
|
||||||
HandlerWrapper: Handler wrapping another Handler
|
|
||||||
handler: MObject:Wrapped handler
|
|
|
@ -1,28 +0,0 @@
|
||||||
StatisticsHandler: Request Statistics gathering
|
|
||||||
statsOnMs: Time in milliseconds stats have been collected for.
|
|
||||||
statsReset(): Resets statistics.
|
|
||||||
requests: Number of requests since statsReset() called.
|
|
||||||
requestsActive: Number of requests currently active since statsReset() called.
|
|
||||||
requestsActiveMax: Maximum number of active requests since statsReset() called.
|
|
||||||
requestTimeMax: Maximum time in milliseconds of request handling since statsReset() called.
|
|
||||||
requestTimeTotal: Total time in milliseconds of all request handling since statsReset() called.
|
|
||||||
requestTimeMean: Mean of time in milliseconds of request handling since statsReset() called.
|
|
||||||
requestTimeStdDev: Standard deviation of time in milliseconds of request handling since statsReset() called.
|
|
||||||
dispatched: Number of dispatches since statsReset() called.
|
|
||||||
dispatchedActive: Number of dispatches currently active since statsReset() called.
|
|
||||||
dispatchedActiveMax: Maximum number of active dispatches since statsReset() called.
|
|
||||||
dispatchedTimeMax: Maximum time in milliseconds of dispatched handling since statsReset() called.
|
|
||||||
dispatchedTimeTotal: Total time in milliseconds of all dispatched handling since statsReset() called.
|
|
||||||
dispatchedTimeMean: Mean of time in milliseconds of dispatch handling since statsReset() called.
|
|
||||||
dispatchedTimeStdDev: Standard deviation of time in milliseconds of dispatch handling since statsReset() called.
|
|
||||||
suspends: Number of requests suspended since statsReset() called.
|
|
||||||
suspendsActive: Number of dispatches currently active since statsReset() called.
|
|
||||||
suspendsActiveMax: Maximum number of active dispatches since statsReset() called.
|
|
||||||
resumes: Number of requests resumed since statsReset() called.
|
|
||||||
expires: Number of requests expired since statsReset() called.
|
|
||||||
responses1xx: Number of responses with a 1xx status since statsReset() called.
|
|
||||||
responses2xx: Number of responses with a 2xx status since statsReset() called.
|
|
||||||
responses3xx: Number of responses with a 3xx status since statsReset() called.
|
|
||||||
responses4xx: Number of responses with a 4xx status since statsReset() called.
|
|
||||||
responses5xx: Number of responses with a 5xx status since statsReset() called.
|
|
||||||
responsesBytesTotal: Total number of bytes of all responses since statsReset() called.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Handler: Jetty Handler.
|
|
||||||
server: MObject:RO:The Jetty server for this handler
|
|
||||||
destroy(): destroy associated resources (eg MBean)
|
|
|
@ -1,3 +0,0 @@
|
||||||
HandlerContainer: Handler of multiple Handlers
|
|
||||||
handlers: MObject:RO:Handlers in this container
|
|
||||||
childHandlers: MObject:RO:All contained handlers
|
|
|
@ -1,6 +0,0 @@
|
||||||
NCSARequestLog : NCSA standard format request log
|
|
||||||
filename : Filename of log
|
|
||||||
retainDays : Number of days that the log files are kept
|
|
||||||
append : Existing log files are appended to the new one
|
|
||||||
extended : Use the extended NCSA format
|
|
||||||
LogTimeZone : The timezone
|
|
|
@ -1 +0,0 @@
|
||||||
SelectChannelConnector: HTTP connector using NIO ByteChannels and Selectors
|
|
|
@ -1,9 +0,0 @@
|
||||||
Server: Jetty HTTP Servlet server
|
|
||||||
connectors: MObject:HTTP Connectors for this server
|
|
||||||
version: RO: The version of this server
|
|
||||||
sendServerVersion: If true include the server version in HTTP headers
|
|
||||||
threadPool: MObject:The server Thread Pool
|
|
||||||
contexts: MMBean:RO:The contexts of this server
|
|
||||||
startupTime: MBean:RO:The startup time, in milliseconds, since January 1st 1970
|
|
||||||
dumpAfterStart: RW:Dump state to stderr after start
|
|
||||||
dumpBeforeStop: RW:Dump state to stderr before stop
|
|
|
@ -1,19 +0,0 @@
|
||||||
AbstractSessionManager: Abstract Session Manager
|
|
||||||
httpOnly: True if cookies use the http only flag
|
|
||||||
idManager: MObject:RO:The ID Manager instance
|
|
||||||
maxCookieAge: if greater than zero, the time in seconds a session cookie will last for
|
|
||||||
maxInactiveInterval: default maximum time in seconds a session may be idle
|
|
||||||
refreshCookieAge: The time in seconds after which a session cookie is re-set
|
|
||||||
secureCookies: If true, the secure cookie flag is set on session cookies
|
|
||||||
sessionCookie: The set session cookie
|
|
||||||
sessionDomain: The domain of the session cookie or null for the default
|
|
||||||
sessionPath: The path of the session cookie or null for the default
|
|
||||||
sessionsTotal: The total number of sessions
|
|
||||||
sessionIdPathParameterName: The name to use for URL session tracking
|
|
||||||
statsReset(): Reset statistics
|
|
||||||
sessions: Current instantaneous number of sessions
|
|
||||||
sessionsMax: Maximum number of simultaneous sessions since statsReset() was called
|
|
||||||
sessionTimeMax: Maximum amount of time in seconds session remained valid since statsReset() was called
|
|
||||||
sessionTimeTotal: Total amount of time in seconds sessions remained valid since statsReset() was called
|
|
||||||
sessionTimeMean: Mean amount of time in seconds a session remained valid since statsReset() was called
|
|
||||||
sessionTimeStdDev: Standard deviation of amount of time in seconds a session remained valid since statsReset() was called
|
|
Loading…
Reference in New Issue