Class MailServer

  • All Implemented Interfaces:
    java.lang.Runnable

    public class MailServer
    extends java.lang.Object
    implements java.lang.Runnable
    This is a simple implementation of an SMTP/POP3 server for processing SOAP requests via Apache's xml-axis. This is not intended for production use. Its intended uses are for demos, debugging, and performance profiling.
    Author:
    Davanum Srinivas , Rob Jellinghaus (robj@unrealities.com)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.apache.commons.logging.Log log  
    • Constructor Summary

      Constructors 
      Constructor Description
      MailServer​(java.lang.String host, int port, java.lang.String userid, java.lang.String password)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static AxisServer getAxisServer()  
      boolean getDoThreads()  
      java.lang.String getHost()  
      POP3Client getPOP3()
      Obtain the serverSocket that that MailServer is listening on.
      static void main​(java.lang.String[] args)
      Server process.
      void run()
      Accept requests from a given TCP port and send them through the Axis engine for processing.
      void setDoThreads​(boolean value)  
      void setPOP3​(POP3Client pop3)
      Set the serverSocket this server should listen on.
      void start()
      Start this server as a NON-daemon.
      void start​(boolean daemon)
      Start this server.
      void stop()
      Stop this server.
      • Methods inherited from class java.lang.Object

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

      • log

        protected static org.apache.commons.logging.Log log
    • Constructor Detail

      • MailServer

        public MailServer​(java.lang.String host,
                          int port,
                          java.lang.String userid,
                          java.lang.String password)
    • Method Detail

      • setDoThreads

        public void setDoThreads​(boolean value)
      • getDoThreads

        public boolean getDoThreads()
      • getHost

        public java.lang.String getHost()
      • getAxisServer

        protected static AxisServer getAxisServer()
      • run

        public void run()
        Accept requests from a given TCP port and send them through the Axis engine for processing.
        Specified by:
        run in interface java.lang.Runnable
      • getPOP3

        public POP3Client getPOP3()
        Obtain the serverSocket that that MailServer is listening on.
      • setPOP3

        public void setPOP3​(POP3Client pop3)
        Set the serverSocket this server should listen on. (note : changing this will not affect a running server, but if you stop() and then start() the server, the new socket will be used).
      • start

        public void start​(boolean daemon)
                   throws java.lang.Exception
        Start this server. Spawns a worker thread to listen for HTTP requests.
        Parameters:
        daemon - a boolean indicating if the thread should be a daemon.
        Throws:
        java.lang.Exception
      • start

        public void start()
                   throws java.lang.Exception
        Start this server as a NON-daemon.
        Throws:
        java.lang.Exception
      • stop

        public void stop()
                  throws java.lang.Exception
        Stop this server. This will interrupt any pending accept().
        Throws:
        java.lang.Exception
      • main

        public static void main​(java.lang.String[] args)
        Server process.