Package net.cis.server.main

Source Code of net.cis.server.main.ServerMain

package net.cis.server.main;

import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

import net.cis.common.model.system.message.SerializerRegistrationInitializer;
import net.cis.server.main.listener.ServerConnectionListener;
import net.cis.server.main.listener.ServerMessageListener;

import org.apache.commons.logging.LogFactory;
import org.apache.log4j.xml.DOMConfigurator;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextStartedEvent;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.jme3.app.SimpleApplication;
import com.jme3.network.Network;
import com.jme3.network.Server;
import com.jme3.system.JmeContext.Type;

public class ServerMain extends SimpleApplication implements ApplicationListener<ContextStartedEvent> {

  private ServerConnectionListener serverConnectionListener;

  private ServerMessageListener serverMessageListener;

  private int tcpPort;

  private int udpPort;

  public static void main(String[] args) {
    DOMConfigurator.configure(ServerMain.class.getClassLoader().getResource("logging/log4j.xml"));

    ApplicationContext appCtx = new ClassPathXmlApplicationContext("classpath*:spring/spring-*.xml");
    appCtx.publishEvent(new ContextStartedEvent(appCtx));
  }

  @Override
  public void onApplicationEvent(ContextStartedEvent event) {
    // JMonkey-Messages f�r Netzwerkkommunikation registrieren
    SerializerRegistrationInitializer.registerClasses();

    start(Type.Headless);
  }

  @Override
  public void simpleInitApp() {
    try {
      Server cisServer = Network.createServer(tcpPort, udpPort);

      cisServer.addConnectionListener(serverConnectionListener);
      cisServer.addMessageListener(serverMessageListener);

      cisServer.start();

      LogFactory.getLog(ServerMain.class).info("Server is running...");
    } catch (IOException e) {
      LogFactory.getLog(ServerMain.class).error("Error while initializing!", e);
      System.exit(-1);
    }
  }

  public void setJMonkeyLogLevel(Level level) {
    // JMonkey-Logging auf Info+1
    Logger.getLogger("").setLevel(level);
  }

  public void setServerConnectionListener(ServerConnectionListener serverConnectionListener) {
    this.serverConnectionListener = serverConnectionListener;
  }

  public void setServerMessageListener(ServerMessageListener serverMessageListener) {
    this.serverMessageListener = serverMessageListener;
  }

  public void setTcpPort(int tcpPort) {
    this.tcpPort = tcpPort;
  }

  public void setUdpPort(int udpPort) {
    this.udpPort = udpPort;

  }
}
TOP

Related Classes of net.cis.server.main.ServerMain

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.