|
@@ -30,8 +30,13 @@ public abstract class HexBinaryAcceptanceHandlerAdapter extends AcceptanceInboun
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
} finally {
|
|
|
- in.release();
|
|
|
- //ReferenceCountUtil.release(msg);// 显示丢弃已经接受的消息
|
|
|
+ // release每次只把引用次数减1,通过日志发现,这里是in对象最后一次被引用的地方
|
|
|
+ // 可以推断出在handler方法中必然有把in的引用次数增加但是没有做释放的操作
|
|
|
+ // 代码太多了,不好排查。这里先做一个兜底的操作,如果释放不成功,多次释放,直到成功为止
|
|
|
+ boolean isReleaseSuccess = false;
|
|
|
+ while (!isReleaseSuccess) {
|
|
|
+ isReleaseSuccess = in.release();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
ctx.flush();
|