我们有一个concurrentlinkedqueue,在100个条目之后阻塞,以减慢传入的数据。它在playframework代码中更深入。什么时候,我们阻止netty线程然后释放它,它似乎把netty置于一个坏状态,一旦释放,我们完成并且不再阻塞线程,有些读取不再被解雇。
基本上,消费者最终会赶上并且一切都有效,除了页面请求最终返回16个j / css /图像文件中的14个左右。 playframework永远不会在16个文件中的2个上收到http请求。这只会在阻塞netty线程很短的时间后发生。最后,堆栈转储显示netty处于正常状态,就像没有接收到播放时没有读取请求,并且chrome仍在等待下载16个文件中的2个。这很奇怪。当我们不在这里和那里阻止netty线程时,一切正常并且它永远不会陷入这种糟糕的状态。
有什么想法吗?
(我们仍在调试netty源,但只是好奇,如果有人有一些想法)
感谢, 迪安