summaryrefslogtreecommitdiffstats
path: root/Dozentenmodulserver/src/main/java/server/BinaryListener.java
blob: ffeb9bd55388f967380fc8e5daf487df8076277a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package server;

import java.util.Date;

import org.apache.log4j.Logger;
import org.apache.thrift.protocol.TProtocolFactory;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TThreadPoolServer.Args;
import org.apache.thrift.server.TThreadPoolServer;
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TServerTransport;
import org.apache.thrift.transport.TTransportException;

public class BinaryListener implements Runnable {
	private static Logger log = Logger.getLogger(BinaryListener.class);

	private final int MINWORKERTHREADS = 20; // keine ahnung ob das passt...
	private final int MAXWORKERTHREADS = 80; // ebenso

	@Override
	public void run() {
		final ServerHandler handler = new ServerHandler();
		final Server.Processor<ServerHandler> processor = new Server.Processor<ServerHandler>(
				handler);
		final TServerTransport transport;
		final TProtocolFactory protFactory = new TBinaryProtocolSafe.Factory(
				true, true);
		try {
			transport = new TServerSocket(9090);
			log.info(new Date() + " - Connected to Port 9090");

		} catch (TTransportException e) {
			log.fatal(new Date() + " - Could not listen on port 9090");
			return;
		}
		TServer server = new TThreadPoolServer(new Args(transport)
				.protocolFactory(protFactory).processor(processor)
				.minWorkerThreads(MINWORKERTHREADS)
				.maxWorkerThreads(MAXWORKERTHREADS));

		log.info(new Date() + " - Started running BinaryListener");
		log.info(new Date() + " - MINWORKERTHREADS=" + MINWORKERTHREADS
				+ " and MAXWORKERTHREADS=" + MAXWORKERTHREADS + "\n");
		server.serve();

	}

}