美文网首页
dubbo 使用hession协议开发总结

dubbo 使用hession协议开发总结

作者: Alex的IT生涯 | 来源:发表于2017-06-20 20:37 被阅读0次

    使用dubbo开发我们默认都是使用dubbo协议的,但是对于项目中的异构系统可能需要调用rpc接口,例如python写的web系统,我们就可以使用基于hession协议的dubbo接口做服务端,python做为客户端进行系统通信。

    如果是原有的接口使用dubbo协议,新接口使用hession协议,那就是二者共存,我们需要做好兼容性。

    1.<dubbo:application name="xxx"/> 应用名称是服务提供方和接受方都需要配置的

    2.做为服务提供者需要提供以下信息:

    接口bean信息  <bean id="aaa" class="com.xxx.XXXService"/>

    hession协议:<dubbo:protocol name="hession" port="8080" server="servlet"/> 此处使用tomcat

    接口service显示指定协议类型:<dubbo:service protocol="hession" interface="com.xxx.XXXService" ref="aaa" path="bbb"

    3.由于本质上hession  dubbo是一个servlet,且使用的是容器jetty或者tomcat,我们需要在web.xml配置servlet处理器:

    com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet 并且指定处理的路径/bbb

    并且需要Listener启动一个上下文,如果本身是web工程我们只需要复用org.springframework.web.context.ContextLoaderListener即可,否则需要自定义listener

    这样客户端就可以把服务接口通过host+端口+path暴露出去,客户端就可以来请求服务了

    4.客户端调用

    StringserviceUrl ="http://localhost:8080/bbb";

    HessianProxyFactory factory =newHessianProxyFactory();

    XXXService xxxService = (XXXService) factory.create(XXXService.class,serviceUrl);

    这样就可以请求服务端的接口了。

    当然如果是python客户端,也是有对应hession sdk包的,只需要下载接口调用。

    相关文章

      网友评论

          本文标题:dubbo 使用hession协议开发总结

          本文链接:https://www.haomeiwen.com/subject/lkuaqxtx.html