关于SpringCloud后台服务负载均衡调用,参数是Map,但是取出来的对象不能强转为原有的类型
关于SpringCloud后台服务负载均衡调用,参数是Map,但是取出来的对象不能强转为原有的类型
问题:
通过debug,我们其实能看到对象已经在map里面了,但是就是转不过来,不知道为什么会给我变成LinkedHashMap,但是我把map定义为LinkedHashMap也不能转过来。如果在同一个服务下面的模块或者方法之间的调用就可以转。
原因:由于我不是很了解底层,所有这个还不是很清楚,我的猜想是因为在统一服务下面,我们是在同一个jvm里面,他的地址不会改变。但是你用了负载均衡,这里就会把你存入的对象序列化,所以你不能强转回来,我在网上有人搜索了一些解决办法,用泛型,但是由于项目的原因,没有用。
**我最后的解决办法:
第一步:把两个对象转换成josn字符串传过去
第二步:再转成对象:
这样就可以解决这个问题了!
**