如何在Jetty中获取当前的websocket队列大小?

时间:2014-10-15 17:53:14

标签: java websocket jetty

我有时会遇到像

这样的写错误
Error: Blocking message pending 10000 for BLOCKING

看起来要避免这样的问题我需要控制自己实际推入socket的内容。我当前的实现只是推送收到的所有数据和(看起来像)因为客户端队列缓慢变得过满。

所以问题是如何获得写缓冲区中当前可用的消息数量? 从哪里可以得到这个神奇的数字10000?

1 个答案:

答案 0 :(得分:2)

那个具体错误......

Error: Blocking message pending 10000 for BLOCKING

.. only happens if you have 2 threads attempting to use blocking send over the same connection

注意:该消息中的10000是阻止行为/状态掩码值,而不是消息计数或消息ID。

基本上,正在发生的事情是,当尝试另一个阻止发送时,存在活动的阻止发送消息。这通常在使用多个线程时发生。