TThreadPoolServer 的示例用法
Sample usage of TThreadPoolServer
我正在尝试将使用 TThreadedServer
的应用程序移植到 TThreadPoolServer
。我目前正在这样使用 class:
TThreadPoolServer server(
processor),
server_transport,
transport_factory,
protocol_factory);
server.serve()
客户端尝试连接时出现以下异常:
terminate called after throwing an instance of
'apache::thrift::concurrency::IllegalStateException' what():
ThreadManager::Impl::add ThreadManager not started
我看到 ThreadManager
实例正在 TThreadPoolServer
here. If a ThreadManager object has to be passed to the constructor of TThreadPoolServer
, I am not sure why the constructor creates a ThreadManager
object. I tried to create a ThreadManger
object and call the start()
method as given here 的构造函数中创建,但 PosixThreadFactory
不再是 Thrift 框架的一部分。我是否必须实施 ThreadFactory
摘要 class?能否请您提供示例用法来帮助我解决这个问题?
我个人认为 Thrift TestServer and TestClient 是非常好的入门资源。它们概述了广泛的可能选项,包括不同的服务器类型。如果您从源代码构建,您可以从命令行 运行 服务器和客户端。这使得在自己实施之前测试特定场景变得相当容易。
对于 TThreadPoolServer
,您可以在 the TThreadPoolServer creation 之后的行中找到相关部分。这应该会显示使用基本参数设置 TThreadPoolServer
所需的所有步骤。
有帮助吗?
我正在尝试将使用 TThreadedServer
的应用程序移植到 TThreadPoolServer
。我目前正在这样使用 class:
TThreadPoolServer server(
processor),
server_transport,
transport_factory,
protocol_factory);
server.serve()
客户端尝试连接时出现以下异常:
terminate called after throwing an instance of 'apache::thrift::concurrency::IllegalStateException' what(): ThreadManager::Impl::add ThreadManager not started
我看到 ThreadManager
实例正在 TThreadPoolServer
here. If a ThreadManager object has to be passed to the constructor of TThreadPoolServer
, I am not sure why the constructor creates a ThreadManager
object. I tried to create a ThreadManger
object and call the start()
method as given here 的构造函数中创建,但 PosixThreadFactory
不再是 Thrift 框架的一部分。我是否必须实施 ThreadFactory
摘要 class?能否请您提供示例用法来帮助我解决这个问题?
我个人认为 Thrift TestServer and TestClient 是非常好的入门资源。它们概述了广泛的可能选项,包括不同的服务器类型。如果您从源代码构建,您可以从命令行 运行 服务器和客户端。这使得在自己实施之前测试特定场景变得相当容易。
对于 TThreadPoolServer
,您可以在 the TThreadPoolServer creation 之后的行中找到相关部分。这应该会显示使用基本参数设置 TThreadPoolServer
所需的所有步骤。
有帮助吗?