博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dubbo Servlet Bridge Server时同时支持hessian和webservice
阅读量:6282 次
发布时间:2019-06-22

本文共 1257 字,大约阅读时间需要 4 分钟。

  hot3.png

原生的bubbo在发布hessianwebservice时使用了嵌入jetty的方式开启了两个端口。 而考虑到我们实际的情况,需要使用weblogic发布,并且是使用同一个端口对外提供服务。 所以我们要扩展dubbo使其支持在同一端口同时支持两种协议。 

为了实现这个目标,作出了如下修改:

1,  增加新的ServletHttpBinder  

WebServiceDispatcherServlet  WebServiceServletHttpBinder  WebServiceServletHttpServer

2, 修改文件

/dubbo-remoting-http/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.remoting.http.HttpBinder,增加如下内容:
webserviceservlet=com.alibaba.dubbo.remoting.http.servlet.WebServiceServletHttpBinder

 

3 com.alibaba.dubbo.rpc.protocol.webservice.WebServiceProtocol.WebServiceHandler.handle方法修改的内如如下:

            if (servletController == null) {

                HttpServlet httpServlet = DispatcherServlet.getInstance()==null?WebServiceDispatcherServlet.getInstance():DispatcherServlet.getInstance(); 

 

4,spring中的配置类似如下:

<dubbo:protocol name="webservice" port="8080" server="webserviceservlet" contextpath="ServletBrige/service" />

 

5web.xml增加如下内容:

  <servlet>

    <servlet-name>dubbowebservice</servlet-name>    <servlet-class>com.alibaba.dubbo.remoting.http.servlet.WebServiceDispatcherServlet</servlet-class>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>dubbowebservice</servlet-name>

    <url-pattern>/service/*</url-pattern>

  </servlet-mapping>     

源码已提交到: 

转载于:https://my.oschina.net/linan/blog/516148

你可能感兴趣的文章
笔记——quota磁盘配额
查看>>
索引表批量数据装载
查看>>
@Value("#{}")与@Value("${}")的区别
查看>>
Zabbix邮件报警设置方法
查看>>
20145328 《信息安全系统设计基础》第6周学习总结
查看>>
C语言随笔_类型声明
查看>>
AIX或LINUX,通过华为存储V3上添加对应LUN组,分配存储资源
查看>>
监控mysql主从的脚本
查看>>
用phpmyadimn来连接管理多个数据库
查看>>
linux java 定时任务
查看>>
Linux守护进程(init.d和xinetd)
查看>>
bootstrap-进度条
查看>>
并发学习心得
查看>>
find、xargs命令使用及方法详解
查看>>
系统提示硬盘不够用的处理方法
查看>>
curl工具post用法
查看>>
我的友情链接
查看>>
lvs+keepalived实现web负载及高可用
查看>>
C# 分享几个ip的方法吧,包括正则验证ip
查看>>
sudo apt-get 与 yum安装有啥区别
查看>>