1.功能
测试rpc服务是否就绪
2.原理
所有reference代理都实现了EchoService接口
3.代码示例
/**
* 回声测试:扫一遍服务是否都已就绪
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
public HashMap test(HttpServletRequest request, HttpServletResponse response) {
String[] serviceIds = new String[]{"productService","userService","orderService","payService"};
HashMap<String,String> retMap = new HashMap<>();
Object ret = null;
for (String id:serviceIds){
try {
EchoService echoService = (EchoService)ctx.getBean(id);
ret = echoService.$echo("ok");
retMap.put(id,ret.toString());
} catch (Exception e) {
retMap.put(id,"not ready");
}
}
return retMap;
}
网友评论