netty异常处理

java.lang.UnsupportedOperationException: Reflective setAccessible(true) disabled
at io.netty.util.internal.ReflectionUtil.trySetAccessible(ReflectionUtil.java:31)
at io.netty.util.internal.PlatformDependent0$4.run(PlatformDependent0.java:233)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at io.netty.util.internal.PlatformDependent0.<clinit>(PlatformDependent0.java:227)
at io.netty.util.internal.PlatformDependent.isAndroid(PlatformDependent.java:289)
at io.netty.util.internal.PlatformDependent.<clinit>(PlatformDependent.java:92)

 

2、分析:
  这是个 debug,并不是 error,一般对我们的系统运行不会产生影响,推测作者是想提醒我们 JDK 版本的编号可能对我们的存在潜在的风险,JDK 1.8 之前(含 JDK 1.8)使用了不安全的 API,自 JDK 9(含 JDK 9)已经废弃,提醒我们注意。
  针对这个现象我们通过设置 JVM 参数使此 debug 不再输出。


3、解决办法:
  在 Eclipse 的 VM 中加入如下参数:
    --add-opens java.base/jdk.internal.misc=ALL-UNNAMED
    -Dio.netty.tryReflectionSetAccessible=true
    --illegal-access=warn (选填)
  在 CentOS 中的启动方式为:
    nohup java -jar --add-opens java.base/jdk.internal.misc=ALL-UNNAMED -Dio.netty.tryReflectionSetAccessible=true 项目名 >> 日志地址 &

 

Eclipse jvm启动参数在哪设置

①打开Eclipse

②创建一个类,编写一段演示用的代码,在代码编辑区右键单击,依次选择【Run As】-->【Run Configurations】

③点击【(x)=Arguments】选项卡,

找到【VM arguments】,输入“-Xms128m -Xmx512m”后点击下面的【 Run】按钮运行程序即可

PS:参数含义说明

-Xms128m JVM启动后初始分配的堆内存为128M-Xmx512m JVM运行过程中允许分配的最大堆内存为512M,按需分配以上参数可以根据实际情况自行调整大小

长久性修改JVM启动参数
https://www.cnblogs.com/baxianhua/p/9504333.html

 

netty源码网站

http://docs.52im.net/extend/docs/src/netty4_1/

 

posted @ 2021-06-22 17:22  1156740846  阅读(1025)  评论(0编辑  收藏  举报