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