2012-09-05 124 views
2

我该如何制作一个嵌入式Jetty实例单线程?单线程嵌入式Jetty?

我已经试过

server.setThreadPool(new QueuedThreadPool(1)) 

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

(我想这是我试图解决this problem的原因 - 我现在有一个赏金,顺便说一句 - !和谷歌的LocalServiceTestHelper似乎只需要在当前线程效果)

回答

2

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

而且,你必须确保你再拍连接之前,每个连接被关闭在客户端 - 否则,服务器将保持打开一段时间,在任何情况下,更多的HTTP请求将被发送。确保您禁用Keep-Alive。

+0

不同的用例,相同的任务:远程函数/过程/方法调用服务器,允许开发人员在实现服务器执行的方法时忽略关于多线程复杂性的任何想法。为了扩展,开始更多(想想docker)。 – Harald