【问题标题】:Single-threaded embedded Jetty?单线程嵌入式 Jetty?
【发布时间】:2012-09-06 00:24:27
【问题描述】:

如何使嵌入式 Jetty 实例成为单线程?

我试过了

server.setThreadPool(new QueuedThreadPool(1))

但它抱怨池中没有足够的线程,并挂起。即使我使用 SocketConnector 而不是 NIO 连接器,这种情况仍然会发生。

(我想要这个的原因是我正在尝试解决this problem - 顺便说一句,我目前有一个赏金! - 谷歌的LocalServiceTestHelper 似乎只在当前线程中生效。)

【问题讨论】:

    标签: embedded-jetty


    【解决方案1】:

    SocketConnector 需要 2 个线程 - 一个用于等待连接,一个用于服务连接。其他连接器可能需要更多连接器,因此请使用SocketConnector

    此外,您必须确保在建立另一个连接之前在客户端关闭每个连接 - 否则服务器将保持打开一段时间,以防有更多 HTTP 请求发送。确保禁用 Keep-Alive。

    【讨论】:

    • 不同的用例,相同的任务:远程函数/过程/方法调用服务器,允许开发人员在实现由服务器执行的方法时忽略有关多线程复杂性的任何想法。要扩展,开始更多(想想 docker)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 2015-06-24
    • 2015-08-02
    • 2011-08-20
    • 2013-05-16
    • 2013-11-01
    • 2014-09-22
    相关资源
    最近更新 更多