Closed avkojwer1 closed 7 years ago
这个问题的根源是热部署的时候使用的classloader和dubbo获取代理对象使用的classloader不一致导致的; 热部署使用的classloader是org.springframework.boot.devtools.restart.classloader.RestartClassLoader dubbo获取代理对象使用的classloader是AppClassLoader 修改的话: 需要更改dubbo的代码: /* * Get proxy. * * @param ics interface class array. * @return Proxy instance. / public static Proxy getProxy(Class<?>... ics) { return getProxy(ClassHelper.getCallerClassLoader(Proxy.class), ics); }
更改为: public static Proxy getProxy(Class<?>... ics) { return getProxy(ClassHelper.getClassLoader(Proxy.class), ics); } 这个改动的话,最好是自行更改并测试下,不是spring boot插件的范围
好的, 感谢
hi, 加入spring boot 热编译后, @Reference对象无法被注入