V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
delavior
V2EX  ›  问与答

请教 dubbo 使用 http 方式调用的问题

  •  
  •   delavior · 2016-06-16 16:31:07 +08:00 · 10344 次点击
    这是一个创建于 2898 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有用过 dubbo 的吗?请教个问题。

    服务提供者配置文件:

    <dubbo:application name="provider" /> 
    <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" /> 
    <dubbo:protocol name="http" port="6080" contextpath="consumer/service" server="servlet" /> 
    <dubbo:service ref="userService" interface="com.test.interfaces.UserService" timeout="1200000" delay="-1"/> 
    <bean id="userService" class="com.test.provider.UserServiceImpl" />
    

    服务提供者 web.xml 文件:

    <servlet> 
        <servlet-name>dubbo</servlet-name> 
        <servlet-class>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet</servlet-class> 
        <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>dubbo</servlet-name> 
        <url-pattern>/*</url-pattern> 
    </servlet-mapping>
    

    服务消费者配置文件:

    <dubbo:application name="consumer" /> 
    <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" /> 
    <dubbo:reference id="userService" interface="com.test.interfaces.UserService" />
    

    dubbo 版本是 2.5.3,spring 版本是 3.1.1,JDK1.6,生产者、消费者都是放到 tomcat6 下的。如果是用 dubbo 客户端这种形式访问的话没有问题,但直接在浏览器访问 http://localhost:6080/consumer/service/com.test.interfaces.UserService 的话,发现走到 dubbo 的 DispatcherServlet 中调用 spring 的 HttpInvokerServiceExporter 处理转发请求时,报 java.io.EOFException

    想问一下,能不能用这种非 dubbo 客户端的形式访问;如果能的话,这种报错可能是哪些地方导致的呢? dubbo 的 http 协议到底是怎么用的呢?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2778 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:40 · PVG 20:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.