TThreadPoolServer的示例用法

问题描述 投票:1回答:1

我正在尝试移植使用TThreadedServer的应用程序以使用TThreadPoolServer。我目前正以这种方式使用课程:

TThreadPoolServer server(
      processor),
      server_transport,
      transport_factory,
      protocol_factory);

  server.serve()

当客户端尝试连接时,出现以下异常:

终止引发一个实例'apache :: thrift :: concurrency :: IllegalStateException'what():ThreadManager :: Impl :: add ThreadManager未启动

我看到在ThreadManager TThreadPoolServer的构造函数中正在创建here实例。如果必须将ThreadManager对象传递给TThreadPoolServer的构造函数,我不确定为什么构造函数会创建ThreadManager对象。我试图创建一个ThreadManger对象并按给定的start()调用here方法,但是PosixThreadFactory不再是Thrift框架的一部分。我是否必须实现ThreadFactory抽象类?您可以通过提供示例用法来帮助我弄清楚吗?

thrift
1个回答
1
投票

我个人发现Thrift TestServerTestClient是很好的入门资源。它们概述了各种可能的选项,包括不同的服务器类型。如果从源代码构建,则可以从命令行运行服务器和客户端。这使得在自己实施之前测试特定场景相当容易。

对于TThreadPoolServer,您可以在the TThreadPoolServer creation之后的行中找到相关部分。这应该显示设置带有基本参数的TThreadPoolServer所需的所有步骤。

有帮助吗?

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.