dubbo 接口 序列化问题

java.lang.ClassNotFoundException: com.tude.goods.po.TudeGoods
hset>>>>>>>>>>>>>calss=====class java.util.HashMap


dubbo 接口 

public <T> T hget(String key, String field, Class<T> t) throws Exception {
		// TODO Auto-generated method stub
		return redisService.hget(key, field, t);
	}
	
	@Override
	public Long hset(String key, String field, Object value) throws Exception {
		// TODO Auto-generated method stub
	    //System.out.println("hset>>>>>>>>>>>>>calss====="+value.getClass());
		return redisService.hset(key, field, value);
	}

hset 参数	
场景1:
Object 传过来的是java对象,但是dubbo服务端没有该java对象,value.getClass()类型就是hashMap,这是hessian把对象转行成了map。日志报出来
java.lang.ClassNotFoundException: com.tude.goods.po.TudeGoods
hset>>>>>>>>>>>>>calss=====class java.util.HashMap

存入到redis中,反序列化出来的也是一个hashMap

当hget 返回的时候,返回的也是一个hashMap,强制转杭成java对象报错。


场景2:
Object 传过来的是List<java对象>,但是dubbo服务端没有该java对象,value.getClass()类型就是List

存入到redis中,是list<hashMap>



当hget 返回的时候,返回的也是一个list<hashMap>,强制转杭成list<java对象>又没报错





猜你喜欢

转载自m635674608.iteye.com/blog/2379832