Package server

Source Code of server.Server

package server;

import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.quickserver.net.server.ClientHandler;
import org.quickserver.net.server.QuickServer;

import server.constants.Messages;

/**
* The Class Server. Holds all the vital components for the server.
*
* @author Priit Laht
*/
public class Server {

  private String confFile = "config/config.xml";
  private Object[] config;
  private QuickServer server = new QuickServer();
  private Logger logger = null;
  private FileHandler logHandler = null;
  private File log = new File("./log/");

  /**
   * Starts the server.
   */
  public void start() {
    server.setConsoleLoggingToMicro();
    config = new Object[] { confFile };
    setUpLogger()
    if (server.initService(config) == true) {
      try {
        server.startServer();
      } catch (Exception e) {
        System.err.println(Messages.SERVERERROR(e));
      }
    }
  }
 
  /**
   * Stops the server and closes all connected clients.
   */
  public void stop() {
    try {
      @SuppressWarnings("rawtypes")
      Iterator itr = server.findAllClient();
      while (itr.hasNext()) {
        ClientHandler handler = (ClientHandler) itr.next();
        handler.closeConnection();     
      }
      server.stopServer();
    } catch (Exception e) {
      System.err.println(Messages.SERVERERROR(e));
    }
  }
 
  /**
   * Checks if the server is closed.
   *
   * @return true, if is closed
   */
  public boolean isClosed() {
    return server.isClosed();
  }
 
  /**
   * Sets up the logger for the server.
   */
  private void setUpLogger(){
    if (!log.canRead()) {
      log.mkdir();
    }
    try {
      logger = Logger.getLogger("");
      logger.setLevel(Level.WARNING);
      Date date = new Date();
      logHandler = new FileHandler("log/log_" + date.getTime() + ".xml");
      logger.addHandler(logHandler);
    } catch (IOException e) {
      System.err.println(Messages.FILEHANDLERERROR(e));
    }
  }
 
}
TOP

Related Classes of server.Server

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.