Package org.apache.thrift.server
Class THsHaServer
- java.lang.Object
-
- org.apache.thrift.server.TServer
-
- org.apache.thrift.server.AbstractNonblockingServer
-
- org.apache.thrift.server.TNonblockingServer
-
- org.apache.thrift.server.THsHaServer
-
public class THsHaServer extends TNonblockingServer
An extension of the TNonblockingServer to a Half-Sync/Half-Async server. Like TNonblockingServer, it relies on the use of TFramedTransport.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
THsHaServer.Args
-
Nested classes/interfaces inherited from class org.apache.thrift.server.TNonblockingServer
TNonblockingServer.SelectAcceptThread
-
Nested classes/interfaces inherited from class org.apache.thrift.server.AbstractNonblockingServer
AbstractNonblockingServer.AbstractNonblockingServerArgs<T extends AbstractNonblockingServer.AbstractNonblockingServerArgs<T>>, AbstractNonblockingServer.AbstractSelectThread, AbstractNonblockingServer.AsyncFrameBuffer, AbstractNonblockingServer.FrameBuffer
-
Nested classes/interfaces inherited from class org.apache.thrift.server.TServer
TServer.AbstractServerArgs<T extends TServer.AbstractServerArgs<T>>
-
-
Field Summary
-
Fields inherited from class org.apache.thrift.server.AbstractNonblockingServer
LOGGER
-
Fields inherited from class org.apache.thrift.server.TServer
eventHandler_, inputProtocolFactory_, inputTransportFactory_, outputProtocolFactory_, outputTransportFactory_, processorFactory_, serverTransport_, stopped_
-
-
Constructor Summary
Constructors Constructor Description THsHaServer(THsHaServer.Args args)
Create the server with the specified Args configuration
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static java.util.concurrent.ExecutorService
createInvokerPool(THsHaServer.Args options)
Helper to create an invoker poolprotected java.util.concurrent.ExecutorService
getInvoker()
protected java.lang.Runnable
getRunnable(AbstractNonblockingServer.FrameBuffer frameBuffer)
protected void
gracefullyShutdownInvokerPool()
protected boolean
requestInvoke(AbstractNonblockingServer.FrameBuffer frameBuffer)
We override the standard invoke method here to queue the invocation for invoker service instead of immediately invoking.protected void
waitForShutdown()
A method that will block until when threads handling the serving have been shut down.-
Methods inherited from class org.apache.thrift.server.TNonblockingServer
isStopped, joinSelector, startThreads, stop
-
Methods inherited from class org.apache.thrift.server.AbstractNonblockingServer
serve, startListening, stopListening
-
Methods inherited from class org.apache.thrift.server.TServer
getEventHandler, getShouldStop, isServing, setServerEventHandler, setServing, setShouldStop
-
-
-
-
Constructor Detail
-
THsHaServer
public THsHaServer(THsHaServer.Args args)
Create the server with the specified Args configuration
-
-
Method Detail
-
waitForShutdown
protected void waitForShutdown()
A method that will block until when threads handling the serving have been shut down.- Overrides:
waitForShutdown
in classTNonblockingServer
-
createInvokerPool
protected static java.util.concurrent.ExecutorService createInvokerPool(THsHaServer.Args options)
Helper to create an invoker pool
-
getInvoker
protected java.util.concurrent.ExecutorService getInvoker()
-
gracefullyShutdownInvokerPool
protected void gracefullyShutdownInvokerPool()
-
requestInvoke
protected boolean requestInvoke(AbstractNonblockingServer.FrameBuffer frameBuffer)
We override the standard invoke method here to queue the invocation for invoker service instead of immediately invoking. The thread pool takes care of the rest.- Overrides:
requestInvoke
in classTNonblockingServer
- Returns:
- true if invocation was successfully requested, which is not a guarantee that invocation has completed. False if the request failed.
-
getRunnable
protected java.lang.Runnable getRunnable(AbstractNonblockingServer.FrameBuffer frameBuffer)
-
-