summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java')
-rw-r--r--src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java b/src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java
new file mode 100644
index 0000000..8eeb7bc
--- /dev/null
+++ b/src/main/java/org/openslx/imagemaster/thrift/server/BinaryListener.java
@@ -0,0 +1,36 @@
+package org.openslx.imagemaster.thrift.server;
+
+import org.apache.log4j.Logger;
+import org.apache.thrift.protocol.TProtocolFactory;
+import org.apache.thrift.server.TServer;
+import org.apache.thrift.server.TThreadPoolServer;
+import org.apache.thrift.transport.TServerSocket;
+import org.apache.thrift.transport.TServerTransport;
+import org.apache.thrift.transport.TTransportException;
+import org.openslx.imagemaster.thrift.iface.ImageServer;
+import org.apache.thrift.server.TThreadPoolServer.Args;
+
+public class BinaryListener implements Runnable
+{
+ private static Logger log = Logger.getLogger( BinaryListener.class );
+
+ @Override
+ public void run()
+ {
+ final ImageServerHandler handler = new ImageServerHandler();
+ final ImageServer.Processor<ImageServerHandler> processor = new ImageServer.Processor<ImageServerHandler>( handler );
+ final TProtocolFactory protFactory = new TBinaryProtocolSafe.Factory( true, true );
+ final TServerTransport transport;
+ try {
+ transport = new TServerSocket( 9090 );
+ } catch ( TTransportException e ) {
+ log.fatal( "Could not listen on port 9090" );
+ return;
+ }
+ TServer server = new TThreadPoolServer( new Args( transport ).protocolFactory( protFactory ).processor( processor )
+ .minWorkerThreads( 4 ).maxWorkerThreads( 8 ) );
+ log.info( "Starting Binary Thrift" );
+ server.serve();
+ }
+
+}