delavior
V2EX  ›  问与答

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

  •  
  •   delavior · Jun 16, 2016 · 10642 views
    This topic created in 3634 days ago, the information mentioned may be changed or developed.

    有用过 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 协议到底是怎么用的呢?

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2466 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 00:45 · PVG 08:45 · LAX 17:45 · JFK 20:45
    ♥ Do have faith in what you're doing.