Class SimpleSocketServer

  • All Implemented Interfaces:
    java.lang.Runnable
    Direct Known Subclasses:
    SimpleSSLSocketServer

    public class SimpleSocketServer
    extends java.lang.Thread
    A simple SocketNode based server.
          <b>Usage:</b> java ch.qos.logback.classic.net.SimpleSocketServer port configFile
     
    where port is a port number where the server listens and configFile is an xml configuration file fed to JoranConfigurator.
    Since:
    0.8.4
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean closed  
      private java.util.concurrent.CountDownLatch latch  
      private LoggerContext lc  
      (package private) org.slf4j.Logger logger  
      private int port  
      private java.net.ServerSocket serverSocket  
      private java.util.List<SocketNode> socketNodeList  
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      static void configureLC​(LoggerContext lc, java.lang.String configFile)  
      protected static void doMain​(java.lang.Class<? extends SimpleSocketServer> serverClass, java.lang.String[] argv)  
      protected java.lang.String getClientThreadName​(java.net.Socket socket)
      Returns a name to identify each client thread.
      java.util.concurrent.CountDownLatch getLatch()
      Used for testing purposes
      protected javax.net.ServerSocketFactory getServerSocketFactory()
      Gets the platform default ServerSocketFactory.
      protected java.lang.String getServerThreadName()
      Returns the name given to the server thread.
      boolean isClosed()  
      static void main​(java.lang.String[] argv)  
      (package private) static int parsePortNumber​(java.lang.String portStr)  
      void run()  
      (package private) void setLatch​(java.util.concurrent.CountDownLatch latch)
      Used for testing purposes
      (package private) void signalAlmostReadiness()
      Signal another thread that we have established a connection This is useful for testing purposes.
      void socketNodeClosing​(SocketNode sn)  
      (package private) static void usage​(java.lang.String msg)  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • logger

        org.slf4j.Logger logger
      • port

        private final int port
      • closed

        private boolean closed
      • serverSocket

        private java.net.ServerSocket serverSocket
      • socketNodeList

        private java.util.List<SocketNode> socketNodeList
      • latch

        private java.util.concurrent.CountDownLatch latch
    • Constructor Detail

      • SimpleSocketServer

        public SimpleSocketServer​(LoggerContext lc,
                                  int port)
    • Method Detail

      • main

        public static void main​(java.lang.String[] argv)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doMain

        protected static void doMain​(java.lang.Class<? extends SimpleSocketServer> serverClass,
                                     java.lang.String[] argv)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread
      • getServerThreadName

        protected java.lang.String getServerThreadName()
        Returns the name given to the server thread.
      • getClientThreadName

        protected java.lang.String getClientThreadName​(java.net.Socket socket)
        Returns a name to identify each client thread.
      • getServerSocketFactory

        protected javax.net.ServerSocketFactory getServerSocketFactory()
        Gets the platform default ServerSocketFactory.

        Subclasses may override to provide a custom server socket factory.

      • signalAlmostReadiness

        void signalAlmostReadiness()
        Signal another thread that we have established a connection This is useful for testing purposes.
      • setLatch

        void setLatch​(java.util.concurrent.CountDownLatch latch)
        Used for testing purposes
        Parameters:
        latch -
      • getLatch

        public java.util.concurrent.CountDownLatch getLatch()
        Used for testing purposes
      • isClosed

        public boolean isClosed()
      • close

        public void close()
      • socketNodeClosing

        public void socketNodeClosing​(SocketNode sn)
      • usage

        static void usage​(java.lang.String msg)
      • parsePortNumber

        static int parsePortNumber​(java.lang.String portStr)