| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.martiansoftware.nailgun.NGServer
public class NGServer
Listens for new connections from NailGun clients and launches NGSession threads to process them.
This class can be run as a standalone server or can be embedded within larger applications as a means of providing command-line interaction with the application.
| Field Summary | |
|---|---|
| static int | DEFAULT_SESSIONPOOLSIZEDefault size for thread pool | 
|  PrintStream | errSystem.errat the time of the NGServer's creation | 
|  InputStream | inSystem.inat the time of the NGServer's creation | 
|  PrintStream | outSystem.outat the time of the NGServer's creation | 
| Constructor Summary | |
|---|---|
| NGServer()Creates a new NGServer that will listen on the default port (defined in NGConstants.DEFAULT_PORT). | |
| NGServer(InetAddress addr,
         int port)Creates a new NGServer that will listen at the specified address and on the specified port with the default session pool size. | |
| NGServer(InetAddress addr,
         int port,
         int sessionPoolSize)Creates a new NGServer that will listen at the specified address and on the specified port with the specified session pool size. | |
| Method Summary | |
|---|---|
|  boolean | allowsNailsByClassName()Returns a flag that indicates whether Nail lookups by classname are allowed. | 
|  AliasManager | getAliasManager()Returns the AliasManager in use by this NGServer. | 
|  Class | getDefaultNailClass()Returns the default class that will be used if no Nails can be found via alias or classname. | 
|  Map | getNailStats()Returns a snapshot of this NGServer's nail statistics. | 
|  int | getPort()Returns the port on which this server is (or will be) listening. | 
|  boolean | isRunning()Returns true iff the server is currently running. | 
| static void | main(String[] args)Creates and starts a new NGServer. | 
|  void | run()Listens for new connections and launches NGSession threads to process them. | 
|  void | setAllowNailsByClassName(boolean allowNailsByClassName)Sets a flag that determines whether Nails can be executed by class name. | 
|  void | setDefaultNailClass(Class defaultNailClass)Sets the default class to use for the Nail if no Nails can be found via alias or classname. | 
|  void | shutdown(boolean exitVM)Shuts down the server. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final int DEFAULT_SESSIONPOOLSIZE
public final PrintStream out
System.out at the time of the NGServer's creation
public final PrintStream err
System.err at the time of the NGServer's creation
public final InputStream in
System.in at the time of the NGServer's creation
| Constructor Detail | 
|---|
public NGServer(InetAddress addr,
                int port,
                int sessionPoolSize)
Thread wrapping this
 NGServer and start it.
addr - the address at which to listen, or
 null to bind to all local addressesport - the port on which to listen.sessionPoolSize - the max number of idle sessions allowed by the
 pool
public NGServer(InetAddress addr,
                int port)
Thread wrapping this
 NGServer and start it.
addr - the address at which to listen, or
 null to bind to all local addressesport - the port on which to listen.sessionPoolSize - the max number of idle sessions allowed by the
 poolpublic NGServer()
NGConstants.DEFAULT_PORT). This does not cause the
 server to start listening. To do so, create a new
 Thread wrapping this
 NGServer and start it.
| Method Detail | 
|---|
public void setAllowNailsByClassName(boolean allowNailsByClassName)
allowNailsByClassName - true iff Nail lookups by classname are
 allowedpublic boolean allowsNailsByClassName()
public void setDefaultNailClass(Class defaultNailClass)
null, in which case NailGun will use its own default)
defaultNailClass - the default class to use for the Nail if no Nails
 can be found via alias or classname. (may be
 null, in which case NailGun will use its own default)public Class getDefaultNailClass()
public Map getNailStats()
java.util.Map, keyed by class name, with NailStats objects as values.
public AliasManager getAliasManager()
public void shutdown(boolean exitVM)
Shuts down the server. The server will stop listening and its thread will finish. Any running nails will be allowed to finish.
Any nails that provide a
public static void nailShutdown(NGServer)
exitVM - if true, this method will also exit the JVM after calling
 nailShutdown() on any nails. This may prevent currently running nails
 from exiting gracefully, but may be necessary in order to perform some
 tasks, such as shutting down any AWT or Swing threads implicitly launched
 by your nails.public boolean isRunning()
public int getPort()
public void run()
run in interface Runnable
public static void main(String[] args)
                 throws NumberFormatException,
                        UnknownHostException
NGServer. A single optional argument is valid, specifying
 the port on which this
 NGServer should listen. If omitted,
 NGServer.DEFAULT_PORT will be used.
args - a single optional argument specifying the port on which to
 listen.
NumberFormatException - if a non-numeric port is specified
UnknownHostException| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||