server concurrent ExecutorService concurrent SynchronousQueue concurrent ThreadPoolExecutor concurrent TimeUnit TException TProcessor protocol TProtocol transport TServerTransport transport TTransport transport TTransportException slf4j Logger slf4j LoggerFactory tthreadpoolserver tserver logger logger loggerfactory.getlogger tthreadpoolserver.class.getname args abstractserverargs args minworkerthreads maxworkerthreads integer.max_value stoptimeoutval timeunit stoptimeoutunit timeunit.seconds args tservertransport transport transport args minworkerthreads minworkerthreads args maxworkerthreads maxworkerthreads executorservice executorservice_ stopped_ timeunit stoptimeoutunit stoptimeoutval tthreadpoolserver args synchronousqueue executorqueue synchronousqueue stoptimeoutunit args.stoptimeoutunit stoptimeoutval args.stoptimeoutval executorservice_ threadpoolexecutor args.minworkerthreads args.maxworkerthreads timeunit.seconds executorqueue serve servertransport_.listen ttransportexception ttx logger.error ttx stopped_ setserving stopped_ failurecount ttransport client servertransport_.accept workerprocess wp workerprocess client executorservice_.execute wp ttransportexception ttx stopped_ failurecount logger.warn ttx executorservice_.shutdown timeoutms stoptimeoutunit.tomillis stoptimeoutval system.currenttimemillis timeoutms executorservice_.awaittermination timeoutms timeunit.milliseconds interruptedexception ix newnow system.currenttimemillis timeoutms newnow newnow setserving stop stopped_ servertransport_.interrupt workerprocess ttransport client_ workerprocess ttransport client client_ client run tprocessor processor ttransport inputtransport ttransport outputtransport tprotocol inputprotocol tprotocol outputprotocol processor processorfactory_.getprocessor client_ inputtransport inputtransportfactory_.gettransport client_ outputtransport outputtransportfactory_.gettransport client_ inputprotocol inputprotocolfactory_.getprotocol inputtransport outputprotocol outputprotocolfactory_.getprotocol outputtransport stopped_ processor.process inputprotocol outputprotocol ttransportexception ttx texception tx logger.error tx logger.error inputtransport inputtransport.close outputtransport outputtransport.close