JVM参数-Dsun.io.serialization.extendedDebugInfo

    前段时间,公司上线一个项目,需要从docker里面迁移到物理服务器。该项目运行一直是好的,在把相关文件配置搬到服务器上时,启动后登陆,报了一个序列化的问题:

java.lang.IllegalArgumentException: java.io.NotSerializableException: java.util.PropertyResourceBundle
        at org.redisson.RedissonObject.encodeMapValue(RedissonObject.java:248)
        at org.redisson.RedissonMap.fastPutOperationAsync(RedissonMap.java:917)
        at org.redisson.RedissonMap.fastPutAsync(RedissonMap.java:902)
        at org.redisson.RedissonMap.fastPut(RedissonMap.java:922)
        at org.redisson.tomcat.RedissonSession.fastPut(RedissonSession.java:132)
        at org.redisson.tomcat.RedissonSession.setAttribute(RedissonSession.java:179)
        at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1428)

    乍一看,猜到可能是session里面存在不能序列化的实例变量,但是如何发现这个变量是哪个呢?

    在GG上面找了资料,最后发现了一个JVM参数:sun.io.serialization.extendedDebugInfo (Locating Serialization Issue in Complex Bean)。

    试着加上这个参数:

-Dsun.io.serialization.extendedDebugInfo=true

    重启服务器,重新访问,最后打印出了详细的序列化异常的信息:

java.lang.IllegalArgumentException: java.io.NotSerializableException: java.util.PropertyResourceBundle
         - field (class "com.leasing.emogo.business.common.BaseGlobalData", name: "logMsg", type: "class java.util.ResourceBundle")
         - root object (class "com.leasing.emogo.business.common.GlobalInfo", com.leasing.emogo.business.common.GlobalInfo@63768274)
         at org.redisson.RedissonObject.encodeMapValue(RedissonObject.java:248)
         at org.redisson.RedissonMap.fastPutOperationAsync(RedissonMap.java:917)
         at org.redisson.RedissonMap.fastPutAsync(RedissonMap.java:902)
         at org.redisson.RedissonMap.fastPut(RedissonMap.java:922)
         at org.redisson.tomcat.RedissonSession.fastPut(RedissonSession.java:132)
         at org.redisson.tomcat.RedissonSession.setAttribute(RedissonSession.java:179)
         at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1428)

    有了详细的信息,就能对症下药,解决问题了~

    感觉JVM这块,有好多内容需要学的,anyway,慢慢学吧!

转载于:https://my.oschina.net/javamaster/blog/2987164

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值