diff options
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.java | 36 |
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(); + } + +} |