I wrote a simple packetstreamer thrift server with NBlocking and THsHa server.
The server takes 100% CPU usage in top even when no client is present.

Here is how the server is instantiated:

    public static void simple(PacketStreamer.Processor processor) {
        try {    
            // Use this for a multithreaded server
            TNonblockingServerTransport serverTransport = new 
TNonblockingServerSocket(port);
            TNonblockingServer.Args args = new 
TNonblockingServer.Args(serverTransport);
            //THsHaServer.Args args = new THsHaServer.Args(serverTransport);
            args.processor(processor);
            args.transportFactory(new TFramedTransport.Factory());
            args.protocolFactory(new TBinaryProtocol.Factory(true, true));
            //TServer server = new TThreadPoolServer(args);
            TServer server = new TNonblockingServer(args);
            //TServer server = new THsHaServer(args);
                
            log.debug("Starting the packetstreamer server on port {} ...", 
port);
            server.serve();
        } catch (Exception e) {
            e.printStackTrace();
        }       
    }       

The JConsole profiler showed at least the poller thread with increasing cputime.
The point of using NonBlockingServer is to be graceful with CPU.

Any help is greatly appreciated!
Thanks,
Kanzhe

Reply via email to