本文主要是介绍对Atmosphere中AtmosphereResourceImpl “Exception during suspend() operation“问题的追踪,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在Atmosphere通信正常的情况下关闭浏览器,有时候会看到log出现一行错误
[qtpxxx-xx] WARN org.atmosphere.cpr.AtmosphereResourceImpl - Exception during suspend() operation xxxException
看到WARN的等级感觉应该不会有什么问题,但总觉得觉得应该有什么地方出了问题,为什么具体的错误行数被隐藏起来?
我看的是2.4.13
的源码,当然现在最新版的2.6.x
我也看了,一样,这块没改,问我为什么不用2.5.x
,根本用不了,不知道搞了什么鬼,2.5都跑不了直接开2.6,跟scala新版本的兼容也有很大的问题,只能用老版本的scala。
打开AtmosphereResourceImpl
,直接搜索Exception during suspend
就能找到报错的地方,它在665行,逐行调试 发现在onDisconnect
调用时报错,跟踪进入onDisconnect
的位置753行,看到下面这个方法。
void onDisconnect(AtmosphereResourceEvent e) {for (AtmosphereResourceEventListener r : listeners) {r.onDisconnect(e);if (transport.equals(TRANSPORT.WEBSOCKET) && WebSocketEventListener.class.isAssignableFrom(r.getClass())) {WebSocketEventListene
这篇关于对Atmosphere中AtmosphereResourceImpl “Exception during suspend() operation“问题的追踪的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!