采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,之前message-thrift-service的client端,是直接thrift自动生成的message-thrift-java-service-api得到client端,这里为了调用user-thrift-service, 为什么需要手写client而不像之前那样自动生成?毕竟这个edge service和user-thrift-service之间还是RPC调用,应该还是可以自动生成stub
你好,不是特别明白你的点,业务逻辑的代码肯定是要自己写的呀。生成的都是机械式的代码。
我之前没有说清楚... 其实就是想问,同样是edge service要调用的user-thrift-service和message-service, 为什么调用user-thrift-service需要手写client,但是调用message-service不需要
你好,调用user-thrift-service和message-service都是差不多的写法呀: public UserService.Client getUserService() { return getService(serverIp, serverPort, ServiceType.USER); } public MessageService.Client getMessasgeService() { return getService(messageServerIp, messageServerPort, ServiceType.MESSAGE); } public <T> T getService(String ip, int port, ServiceType serviceType) { TSocket socket = new TSocket(ip, port, 3000); TTransport transport = new TFramedTransport(socket); try { transport.open(); } catch (TTransportException e) { e.printStackTrace(); return null; } TProtocol protocol = new TBinaryProtocol(transport); TServiceClient result = null; switch (serviceType) { case USER: result = new UserService.Client(protocol); break; case MESSAGE: result = new MessageService.Client(protocol); break; } return (T)result; }
登录后可查看更多问答,登录/注册
从开发到编排,快速,完整,深入的掌握微服务
2.3k 16
5.3k 14
1.3k 14
2.8k 13
1.5k 10
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号