对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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值