dubbo服务consumer 方打印警告日志,getDeserializer - Hessian/Burla 'xxx' is an unknown class

1、日志目录

2、查找日志

3、这个日志是在dubbo的package com.alibaba.com.caucho.hessian.io.SerializerFactory类,Deserializer getDeserializer(String type)方法中打印的:

   看名称大概是获取反序列化类。在服务A中接口方法是能正常调用的,不影响业务。但是该方法调用很频繁,大量这样的WARN日志显然不好。

 4、java编译生成class文件,如果定义了内部类会产生xxx$xxx的class文件。BaseWarehouseInfoManagerImpl根据路径得到是provider方中的类,查找    相应服务器中的class文件,反编译

package *****.manager.outstock.impl;

import java.util.HashMap;
import java.util.List;

class 1 extends HashMap<String, Object>
{
}

在对应的 BaseWarehouseInfoManagerImpl中发现

            return new HashMap<String, BaseWarehouseinfo>() {
                {
                    put(WmsConstants.STOCKMOVE_SRCWHSCODE, srcWarehouse);
                    put(WmsConstants.STOCKMOVE_REALWHSCODE, baseWarehouse);
                }
            };

这里使用了快捷的初始化数据语法,即在{{}}里用put的方式;修改为普通写法,编译后,启动项目,以上日志不再打印

            HashMap map = new HashMap<String, BaseWarehouseinfo>();
            map.put("***","****");
            return map;

 

posted @ 2019-02-15 16:44  wangzhanhua123  阅读(342)  评论(0编辑  收藏  举报