plc4x引起的oom
使用Jprofiler查看dump文件
由上可以看出有大量的NioEventLoop对象没有释放
PlcConnection#close
设备断连重连后导致的oom,看源码close方法主要是channel通道关闭。
修改NettyChannelFactory源码
plc4x设计思想是一个设备一个连接,而不是一个网关一个连接
修改protocol字段为public
修改unitIdentifier字段为public
每次下发请求前指定从机ID
总结
若有不对之处还望批评指正,后期打算自己封装一个modbus组件,开源组件好是好,但是遇到问题还需要一步步排查或者有些地方不满足需求。