Skip to end of metadata
Go to start of metadata


首页  ||  下载  ||  用户指南  ||  开发者指南  ||  管理员指南  ||  培训文档  ||  常见问题解答  ||  发布记录  ||  发展路线  ||  社区

English | 中文

常见问题解答

1. 如果服务注册不上怎么办?

(1) 检查dubbo的jar包有没有在classpath中,以及有没有重复的jar包
(2) 检查有没有重复的dubbo.properties配置文件
(3) 检查暴露服务的spring配置有没有加载
(4) 检查beanId或beanName有没有重复
(5) 查看有没有错误日志:
cat ~/output/logs/webx.log
(6) 在服务提供者机器上测试与注册中心的网络是否通:
telnet 172.22.3.94 9090
(7) 检查与注册中心的连接是否存在:
netstat -anp | grep 172.22.3.94
(8) 如果是预发布机,检查hosts文件有没有正确绑定:
cat /etc/hosts
(9) 实在不行,开启远程调试:
– (a) 在服务器JVM参数中加入:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=7001,server=y,suspend=y
注意线上只有7001和8080可以被线下访问,调试端口需用这两个之一,因注册是启动时行为,启动时必需挂起suspend=y
– (b) 在dubbo源码的DefaultRegistryService的registerService()方法中设置断点。
– (c) 在Eclipse的Debug按钮下拉菜单Debug Configurations中的Remote Java Applications中新增远程调试,并设置IP和端口,以及增加dubbo的源码,进行远程Debug调试。

2. 出现RpcException: No provider available for remote service异常怎么办?

表示没有可用的服务提供者,
1. 检查连接的注册中心是否正确
2. 到注册中心查看相应的服务提供者是否存在
3. 检查服务提供者是否正常运行

3. 出现调用超时com.alibaba.dubbo.remoting.TimeoutException异常怎么办?

通常是业务处理太慢,可在服务提供方执行:jstack PID > jstack.log 分析线程都卡在哪个方法调用上,这里就是慢的原因。
如果不能调优性能,请将timeout设大。

4. 出现hessian序列化失败com.caucho.hessian.client.HessianRuntimeException怎么办?

1. 检查服务方法的传入传出参数是否实现Serializable接口
2. 检查服务方法的传入传出参数是否继承了Number,Date,ArrayList,HashMap等hessian特殊化处理的类

5. 出现Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://repo.alibaba-inc.com/schema/dubbo]怎么办?

表示spring找不到<dubbo:...>配置的解析处理器。
通常是Dubbo的jar没有引入,请加入对Dubbo的依赖,或者是ClassLoader隔离,看是否有使用osgi或其它热加载机制。

6. 出现"消息发送失败"异常怎么办?

通常是接口方法的传入传出参数未实现Serializable接口。

7. 出现org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'异常怎么办?

表示xsd加载失败,
1. 检查spring版本,如果是spring2.0版本,因为该版本不能读取jar包内xsd,会读取外网的xsd,而线上环境通常不允许访问外网,
可修改/etc/hosts加入:(已将spring的xsd放在公司内部的maven仓库中)

spring2.5.x版本不存在此问题,可以考虑升级到2.5.x版本。
2. 检查有没有使用osgi的xsd,如果用了,需要将spring-osgi.jar及其依赖包加进来

8. 项目依赖的三方库与Dubbo所依赖的版本冲突怎么办。

比如,项目使用的spring和commons.pool与dubbo冲突,
dubbo使用的是spring2.5和commons.pool1.4,
而项目中其它模块依赖的是spring2.0.1和commons.pool1.3。

1. 在Maven中,使用项目根pom.xml中的dependencyManagement版本仲裁解决:

2. 在Antx中,使用项目根project.xml中版本仲裁解决:

9. 出现java.util.concurrent.RejectedExecutionException或者Thread pool exhausted怎么办?

RejectedExecutionException表示线程池已经达到最大值,并且没有空闲连,拒绝执行了一些任务。
Thread pool exhausted通常是min和max不一样大时,表示当前已创建的连接用完,进行了一次扩充,创建了新线程,但不影响运行。
原因可能是连接池不够用,请调整dubbo.properites中的:

配置项说明请参见:配置参考手册
如果线程池已经有200,还不够,通常是业务处理占用线程时间过长,
需优化业务,可通过运行:
jstack 进程号 > jstack.txt
分析当前大多数线程都在干什么,从而分析出哪个地方是瓶颈,
比如,如果大部分线程都在处理SQL,可能是数据库连接不够,或数据源配置错误,或SQL没走索引等。

10. 出现com.alibaba.dubbo.registry.internal.rpc.exception.RpcLocalExceptionIoTargetIsNotConnected怎么办?

1. 检查注册中心是否开启白名单功能,如果开启,当IP不在白名单列表中,注册中心将拒绝连接。
2. 检查端口是否正确,注册中心有两个端口,一个为控制台HTTP端口,用于管理员查看数据,一个为程序注册服务用的TCP端口。

11. 出现Remote server returns error: [6], Got invocation exception怎么办?

此异常表示Dubbo框架调用服务提供者的实现方法失败,并且不是方法本身的业务异常。
通常是服务消费者和服务提供者的API签名不一致引起,或者提供方比消费方少此函数。
一般是服务增加方法,或修改了方法签名,而双方用的服务API的jar包不一致。

12. 出现Error closing connection/tbr-client java.lang.NullPointerException怎么办?

如果服务提供者先关闭,当注册中心通知服务消费者后,服务消费者会再次关闭与服务提供者的连接,
而此时连接早已不存在,TBRemoting没有判断null,直接调用了close方法,所以会抛出空指针异常,
由于TBRemoting源码由taobao管理,暂时未解决此BUG,但不影响使用,可忽略。
Dubbo1.0.11-3以后版本已hack了taobao的代码,不存在此问题。

13. 出现org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxService': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Method must not be null怎么办?

通常是classpath下存在spring多个版本的jar包,排除掉不需要的spring包即可。

14. 出现Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'applicationName' of bean class [com.alibaba.dubbo.registry.internal.DefaultRegistryService]: Bean property 'applicationName' is not writable or has an invalid setter method.怎么办?

出现类似的dubbo某个类的属性没有setter方法的异常,通常是classpath下有多个不同版本的dubbo的jar包,导致配置文件与类不匹配。
可以在程序中运行下面的代码发现重复的类或jar包:(代码中的类名视具体冲突而定)

15. 服务提供者没挂,但在注册中心里看不到怎么办?

首先,确认服务提供者是否连接了正确的注册中心,不只是检查配置中的注册中心地址,而且要检查实际的网络连接。
其次,看服务提供者是否非常繁忙,比如压力测试,以至于没有CPU片段向注册中心发送心跳,这种情况,减小压力,将自动恢复。

16. 出现ERROR monitor.StatLog -拒绝连接 java.net.ConnectException:拒绝连接 com.alibaba.dubbo.monitor.StatLog.sendStatData怎么办?

监控中心不可用,发送统计信息失败,不影响调用,但将丢失统计信息。

17. 服务地址出现127.0.0.1怎么办?

Dubbo1.0.7以后版本不存在此问题,当发现本机IP为127.0.0.1时,将遍历所有网卡查找有效IP。
之前版本处理方式:
正确配置的IP映射,Linux下为/etc/hosts,Windows下为C:/WINDOWS/system32/drivers/etc/hosts
假设:ifconfig命令行结果为10.20.130.230,hostname命令行结果为test2,
则配置为:

18. 通过netstat -anp看到连接的注册中心和配置的不一样怎么办?

检查classpath下是否存在两个dubbo.properties文件:

19. 客户端的异常信息里的errorcode是什么意思?

如Remote server returns error: [6], Got invocation exception
1 — 收到消息的时候线程池拒绝处理
2 — 服务提供者端未能根据服务名找到相应服务
3 — 该服务调用时,服务提供者端不能加载参数类型对应的class
4 — 参数不能被正确的反序列化
5 — 不能正确从Class中create该调用所指示的方法
6 — 不能正确调用该方法

20. 出现expected string at 0×33 java.lang.String 怎么办?

这是Hessian3.2.1的一个BUG,Dubbo内部使用Hessian3.2.1做序列化,升级到Dubbo1.0.14以上版本,已解决此问题。
具体原因参见:
http://pt.alibaba-inc.com/wp/experience_929/hessian-big-string-serialize-problems.html

21. 预发布环境,在本地的/etc/hosts文件作了对注册中心的绑定,为什么服务还是注册到生产环境的注册中心?

antx.properties中配置的 dubbo.registry.address = dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net dubbo-reg3.hst.xyi.cn.alidc.net dubbo-reg4.hst.xyi.cn.alidc.net
而/etc/hosts里的绑定如下:
172.22.14.13 dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net
两边的不一致,导致该问题出现。
将绑定修改为:172.22.14.13 dubbo-reg1.hst.xyi.cn.alidc.net dubbo-reg2.hst.xyi.cn.alidc.net dubbo-reg3.hst.xyi.cn.alidc.net dubbo-reg4.hst.xyi.cn.alidc.net 即可!

22. 注册中心上服务是存在的,为什么报找不到服务的错误?

报错信息: Caused by: com.alibaba.dubbo.rpc.RpcException: No invoker available for remote service com.alibaba.china.album.service.IBankNewPicService:1.0.0, servers: []

注册中心上看到的服务提供者提供的服务地址是:dubbo://172.29.61.76:55372?version=1.0.0&group=ibank&dubbo=1.0.0&application=ibank
原因:服务提供者配置了group属性,默认的路由规则是 服务名= group/serviceName。
对这个服务,根据默认的路由规则,消费者消费的服务名应该是 ibank/com.alibaba.china.album.service.IBankNewPicService:1.0.0

23. 获取版本号出现java.lang.NullPointerException怎么办?

java.lang.NullPointerException
at com.alibaba.dubbo.classic.DubboVersion.getVersion
这个只有1.0.14和1.0.14-2存在的问题,在获取版本时静态字段初始化顺序不对,不影使用,可忽略,升级为1.0.15以上版本不再会有该问题。

24. 以及配置中如何使用占位符?

注:此为Spring的标准功能,仅在此提示使用方式,不属于Dubbo范畴。

使用Spring自带的PropertyPlaceholderConfigurer实现properties配置:

25. 使用多个进程启动服务,端口冲突怎么办?

注:此为Spring的标准功能,仅在此提示使用方式,不属于Dubbo范畴。

使用Spring自带的PropertyPlaceholderConfigurer的SYSTEM_PROPERTIES_MODE_OVERRIDE实现通过-D参数设置端口:

26. 如何加载Spring?

注:此为Spring的标准功能,仅在此提示使用方式,不属于Dubbo范畴。

1. 基于ClassPath加载:

2. 基于文件系统加载:

3. 基于Web容器加载:(WEB-INF/web.xml)

27. 出现org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element怎么办?

通常是在用Dubbo1.0的jar包,却用了Dubbo2.0才支持的<dubbo:registry> <dubbo:application> <dubbo:provider> <dubbo:consumer>或2.0才支持的属性。

28. 出现Could not deserialize parameter instance, error is: readObject: unexpected end of file怎么办?

通常是消费方或提供方的内存不足,导致buffer不能分配,使发送到一半的请求被中断了。
也可能是网络抖动,导致传输流被中断。

29. 出现java.net.SocketException: Invalid argument: sun.nio.ch.Net.setIntOption怎么办?

通常是Windows Vista和Windows7的JDK1.6的部分版本存在BUG:
https://issues.apache.org/jira/browse/DIRMINA-379
可以换换JDK版本试试。

Labels:
dubbo dubbo Delete
faq faq Delete
zh zh Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. 三月 30, 2012

    Anonymous

    你好,如果项目中的spring使用的版本是3.1.1,如何解决?

    1. 五月 17, 2012

      Anonymous

      同问

    2. 六月 15, 2012

      可以用Spring3。

  2. 四月 16, 2012

    Anonymous

    您好,学习了一下dubbo是个非常优秀的产品,请问dubbo如何实现PHP作为消费者作为SOA集成?

    1. 八月 01, 2012

      Anonymous

      同问

    2. 八月 02, 2012

      暂不支持PHP,可以先用webservice等跨语言协议通讯。

      1. 八月 26, 2013

        Anonymous

        php也要从ZK等注册中心拿到提供者地址才行吧?

  3. 七月 24, 2012

    Anonymous

    请问admin系统的用户名和密码是什么?

    1. 八月 02, 2012

      文档上有写,root/root, guest/guest, 可以配置,参见:管理控制台安装

    2. 八月 28, 2012

      Anonymous

      Heck yeah bay-bee keep them coinmg!

    3. 八月 29, 2012

      Anonymous

      wEaJfM <a href="http://upzfwwanmfjy.com/">upzfwwanmfjy</a>

    4. 九月 01, 2012

      Anonymous

      R2Q3kp , [url=http://hnzzxaqtqpyi.com/]hnzzxaqtqpyi[/url], [link=http://awrlzefakpuf.com/]awrlzefakpuf[/link], http://fkzcazlkicrn.com/

  4. 八月 02, 2012

    Anonymous

    请问 用用户管理界面后 禁用某个consumer后 通过zookeeper注册中心调用 返回为null 是什么原因 还有cache存在多久? 谢谢

    1. 八月 07, 2012

      “禁用”消费者,调用会抛出被禁用异常,“屏蔽”消费者,调用会返回null。

  5. 八月 03, 2012

    Anonymous

    请问安装简易监控中心后application和service等都正常,就是charts总是显示0是怎么回事?谢谢

    1. 八月 07, 2012

      请确保charts目录在jetty的目录内,否则页面访问不到。

      1. 十二月 27, 2012

        Anonymous

        charts目录必须放在jetty.directory下,否则页面上访问不了。
        请问一下 上面这句话怎么理解 jetty.directory在哪找
        安装简易监控中心 没有这个目录啊 还是说要安装jetty这个web服务
        指点一下,你们的文档说得太简单了

        1. 七月 25, 2013

          Anonymous

          同求 jetty.directory 目录位置

  6. 八月 06, 2012

    Anonymous

    你好:

    我在grails插件中用groovy动态配置bean的方式配置dubbo

    xmlns dubbo: "http://code.alibabatech.com/schema/dubbo"
    dubbo.application(name: 'demo')

    在dubbo 2.4.x 下测试发生如下异常,而在dubbo 2.0.x 下测试是正常的

    异常信息(没有详细原因):

    Caused by NotWritablePropertyException: Invalid property 'parameters' of bean class [com.alibaba.dubbo.config.ApplicationConfig]: Bean property 'parameters' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

  7. 八月 13, 2012

    Anonymous

    在使用dubbo发布webservice服务的时候使用 main方法启动报:ref not allow null!
    provider的配置:
    <dubbo:application name="hello-world-app" />
    <dubbo:registry address="multicast://224.5.6.7:1234" />
    <dubbo:provider protocol="webservice" />
    <dubbo:service protocol="webservice" interface="com.dubbo.example.DemoService"/>
    <dubbo:protocol id="webservice1" name="webservice" port="8080" />
    <dubbo:reference id="helloService" interface="HelloWorld" url="webservice://127.0.0.1:8080/com.dubbo.example.DemoService" />

    这是什么问题啦

  8. 九月 12, 2012

    Anonymous

    (dubbo)请问下用错误的地址和端口做了个回声测试,后台不停重连接,有没有什么解决办法?
    java.net.ConnectException: Connection refused: no further information
     at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
     at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119)

    1. 九月 12, 2012

      Anonymous

      问题补充:貌似是个死循环,始终没有回声,是否应该返回连接不成功的回声,或者直接抛出异常?

      1. 九月 20, 2012

        Anonymous

        分享下自己的解决办法。在调用前验证socket连接是否通,通的话再通过dubbo去调用。(我只是用这个回声测试来做连接判断)

  9. 十月 10, 2012

    Anonymous

    1. 同一个工程中,既有provider又有consumer,在两个spring配置文件中,<dubbo:application name="abc" /> 只能出现在一个spring配置文件中?
    2. 同一个工程中,既有provider又有consumer,使用 管理控制台 监控,只能在提供者看到相关信息,在消费者中没有信息?

  10. 十月 11, 2012

    Anonymous

    消费端得到的服务端代理对象,始终是同一个,怎么解决?

  11. 十月 22, 2012

    Anonymous

    使用zookeeper作为注册中心,<dubbo:registry protocol="zookeeper" check="false" ...即使check设为false。如果zookeeper此时未启动,消费端的应用无法启动。这个如何解决?

    1. 十月 25, 2012

      Anonymous

      同问,如果zookeeper服务没启动,客户端在调用的时候会一直重连,而且异常无法捕获,请问该如何解决?

  12. 十一月 15, 2012

    dubbo 生产环境 用什么方式部署最好, 容器(tomcat)里面,还是做为JAVA应用直接运行?

  13. 十一月 17, 2012

    http://
    传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL传入参数,暂不支持传文件。

    请问怎么用 表单或URL传入参数?没看明白。

    服务端配置如下:(使用dubbo客户端可以正常访问并返回String)
    <dubbo:registry address="N/A" />
    <dubbo:protocol name="http" />
    <dubbo:service interface="inte.DemoService" protocol="http" ref="demoService" />
    <bean id="demoService" class="inte.DemoServiceImpl" />
    请求的方法名:sayHello

    客户端访问:(HttpClient4.1.2.jar)
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost("http://127.0.0.1/inte.DemoService?version=1.0.0");
    httpPost.setHeader("Content-Type", "application/xml");
    List<NameValuePair> formparams = new ArrayList<NameValuePair>();//创建参数队列
    formparams.add(new BasicNameValuePair("sayHello","

    Unknown macro: {aaa}

    "));
    UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(formparams,"utf-8");//消息体
    httpPost.setEntity(uefEntity);
    HttpResponse response = httpclient.execute(httpPost);//发送

    服务端客户端返回:
    java.io.StreamCorruptedException: invalid stream header: 73617948
    Error 500 invalid stream header: 73617948

    如何解决?请帮忙。谢谢了

  14. 十一月 23, 2012

    Anonymous

    暴露dubbo服务时,就不能进行aop拦截,怎么解决?

    1. 二月 24, 2013

      Anonymous

  15. 十二月 27, 2012

    Anonymous

    12-12-27 20:25:14,349 DEBUG [search-prekeyWords-thread-1] (AbstractBeanFactory.java:242) - Returning cached instance of singleton bean 'keyWordService'
    2012-12-27 20:25:14,567 INFO [search-prekeyWords-thread-1] (AbstractRegistry.java:232) - [DUBBO] Load registry store file C:\Documents and Settings\joner.jiang\.dubbo\dubbo-registry-172.16.3.143.cache, data:

    Unknown macro: {com.skymobi.market.search.service.PreKeyWordService=empty}

    , dubbo version: 2.5.3, current host: 127.0.0.1
    2012-12-27 20:25:14,677 INFO [search-prekeyWords-thread-1] (AbstractRegistry.java:302) - [DUBBO] Register: consumer://172.16.12.55/com.skymobi.market.search.service.PreKeyWordService?application=mkt-search-consumer&category=consumers&check=false&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364, dubbo version: 2.5.3, current host: 172.16.12.55
    2012-12-27 20:25:14,723 INFO [search-prekeyWords-thread-1] (AbstractRegistry.java:325) - [DUBBO] Subscribe: consumer://172.16.12.55/com.skymobi.market.search.service.PreKeyWordService?application=mkt-search-consumer&category=providers,configurators,routers&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364, dubbo version: 2.5.3, current host: 172.16.12.55
    2012-12-27 20:25:14,755 INFO [search-prekeyWords-thread-1] (RedisRegistry.java:433) - [DUBBO] redis notify: /dubbo/com.skymobi.market.search.service.PreKeyWordService/providers = empty://0.0.0.0/com.skymobi.market.search.service.PreKeyWordService?application=mkt-search-consumer&category=providers&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364, dubbo version: 2.5.3, current host: 172.16.12.55
    2012-12-27 20:25:14,755 INFO [search-prekeyWords-thread-1] (AbstractRegistry.java:422) - [DUBBO] Notify urls for subscribe url consumer://172.16.12.55/com.skymobi.market.search.service.PreKeyWordService?application=mkt-search-consumer&category=providers,configurators,routers&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364, urls: empty://0.0.0.0/com.skymobi.market.search.service.PreKeyWordService?application=mkt-search-consumer&category=providers&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364, dubbo version: 2.5.3, current host: 172.16.12.55
    2012-12-27 20:25:14,770 ERROR [search-prekeyWords-thread-1] (TransactionInterceptor.java:61) - transactionHandler.handle:
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'keyWordService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.skymobi.market.search.service.PreKeyWordService. No provider available for the service com.skymobi.market.search.service.PreKeyWordService from the url redis://172.16.3.143:6379/com.alibaba.dubbo.registry.RegistryService?application=mkt-search-consumer&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364 to the consumer 172.16.12.55 use dubbo version 2.5.3
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:149)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1414)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:245)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1075)
    at com.skymobi.market.search.SearchServiceLocator.getKeyWordService(SearchServiceLocator.java:14)
    at com.skymobi.market.servicelogic.plugin.search.service.KeywordLogic.getPreKeyWord(KeywordLogic.java:19)
    at com.skymobi.market.servicelogic.plugin.search.PrekeyWordsService.handle(PrekeyWordsService.java:40)
    at com.skymobi.market.servicelogic.plugin.search.PrekeyWordsService.handle(PrekeyWordsService.java:22)
    at com.skymobi.market.servicelogic.interceptor.TransactionInterceptor.intercept(TransactionInterceptor.java:51)
    at com.skymobi.market.servicelogic.interceptor.AbstractInterceptor.fireNextInterceptor(AbstractInterceptor.java:28)
    at com.skymobi.market.servicelogic.interceptor.RequestValidateInterceptor.intercept(RequestValidateInterceptor.java:52)
    at com.skymobi.market.servicelogic.interceptor.AbstractInterceptor.fireNextInterceptor(AbstractInterceptor.java:28)
    at com.skymobi.market.servicelogic.interceptor.ContentDecodeInterceptor.intercept(ContentDecodeInterceptor.java:43)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.skymobi.market.commons.dpl.service.MethodServiceClosure.invokeMethod(MethodServiceClosure.java:40)
    at com.skymobi.market.commons.dpl.service.MethodServiceClosure.execute(MethodServiceClosure.java:29)
    at com.skymobi.market.commons.dpl.service.DefaultProceduralService$1.run(DefaultProceduralService.java:42)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.skymobi.market.search.service.PreKeyWordService. No provider available for the service com.skymobi.market.search.service.PreKeyWordService from the url redis://172.16.3.143:6379/com.alibaba.dubbo.registry.RegistryService?application=mkt-search-consumer&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=8180&revision=api&side=consumer&timestamp=1356611114364 to the consumer 172.16.12.55 use dubbo version 2.5.3
    at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:420)
    at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300)
    at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138)
    at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:65)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
    ... 24 more
    2012-12-27 20:25:14,786 INFO [search-prekeyWords-thread-1] (LoggingServiceListener.java:35) - SERVICE[prekeyWords] has executed.

    为什么我在linux启动服务的时候 :
    注册中心有服务:
    dubbo://172.16.3.142:20881/com.skymobi.market.search.service.PreKeyWordService?anyhost=true&application=mkt-search&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=11240&revision=V1.011&side=provider&timestamp=1356610316948
    但是会报上面的错误
    当我本地myeclips启动,注册到注册中心的服务是:dubbo://172.16.12.55:20881/com.skymobi.market.search.service.PreKeyWordService?anyhost=true&application=mkt-search&dubbo=2.5.3&interface=com.skymobi.market.search.service.PreKeyWordService&methods=getPreKeyWord&pid=7560&side=provider&timestamp=1356611196616
    我就不报上面的错误

  16. 一月 20, 2013

    Anonymous

    请问dubbo是否支持jms协议

  17. 一月 23, 2013

    Anonymous

    请问dubbo可以支持普通的http请求吗?我想用dubbo暴露服务,客户端直接使用http请求调用服务。

  18. 三月 05, 2013

    Anonymous

    c#能直接调用dubbo服务吗,看协议支持hessian\thrift等

  19. 三月 13, 2013

    Anonymous

    碰到这个问题该怎么解决
    com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.79.30 access service com.iflytek.bus.log.api.LogService from registry 192.168.79.51:6379 use dubbo version 2.5.3, Please check registry access list (whitelist/blacklist).

  20. 四月 11, 2013

    Anonymous

    提供者 这段的架构是 spring3.1 + hibernate4 实现service和Dao访问数据库, 通过duboo向外提供服务,发现事务问题,有时候根本不能向数据库写入数据!

    spring配置
    <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>

    <bean id="transactionInterceptor"
    class="org.springframework.transaction.interceptor.TransactionInterceptor"
    p:transactionManager-ref="transactionManager">
    <property name="transactionAttributes">
    <props>
    <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="select*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
    <prop key="sync*">PROPAGATION_REQUIRED</prop>
    <prop key="finish*">PROPAGATION_REQUIRED</prop>
    <prop key="add*">PROPAGATION_REQUIRED</prop>
    <prop key="insert*">PROPAGATION_REQUIRED</prop>
    <prop key="edit*">PROPAGATION_REQUIRED</prop>
    <prop key="update*">PROPAGATION_REQUIRED</prop>
    <prop key="save*">PROPAGATION_REQUIRED</prop>
    <prop key="remove*">PROPAGATION_REQUIRED</prop>
    <prop key="delete*">PROPAGATION_REQUIRED</prop>
    <prop key="*">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
    </props>
    </property>
    </bean>

    <bean id="ProxyCreator"
    class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"
    p:beanNames="*Service,*ServiceImpl" p:interceptorNames="transactionInterceptor" />

  21. 五月 01, 2013

    Anonymous

    OSGI FELIX启动后,以下错误,请问如何解决,非常感谢。
    2013-05-01 23:32:01,734 DEBUG [HandlerMethodInvoker] (HandlerMethodInvoker.java:173) Invoking request handler method: public void com.cdc.action.UserManagerController.upLocation(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.lang.Exception
    2013-05-01 23:32:05,546 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 0ms
    2013-05-01 23:32:18,968 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 83ms
    2013-05-01 23:32:32,234 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 0ms
    2013-05-01 23:32:45,625 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 52ms
    2013-05-01 23:32:52,593 DEBUG [HeartBeatTask] (HeartBeatTask.java:66) [DUBBO] Send heartbeat to remote channel /192.168.3.22:1098., dubbo version: 2.1.8, current host: 192.168.3.22
    2013-05-01 23:32:58,937 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 0ms
    2013-05-01 23:33:12,281 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 0ms
    2013-05-01 23:33:25,640 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 30ms
    2013-05-01 23:33:38,984 DEBUG [ClientCnxn] (ClientCnxn.java:756) Got ping response for sessionid: 0x13e5eda377c0019 after 0ms
    2013-05-01 23:33:41,796 ERROR [FailsafeClusterInvoker] (FailsafeClusterInvoker.java:50) [DUBBO] Failsafe ignore exception: Invoke remote method timeout. method: checkAliFee, provider: dubbo://192.168.3.22:1098/com.cdc.payment.service.CommonPaymentService?accesslog=dubbo-logs/payment/invoke.log&anyhost=true&application=payment-gateway&check=false&cluster=failsafe&dubbo=com.pangker.dubbo.library_1.0.0&group=ctf&interface=com.cdc.payment.service.CommonPaymentService&loadbalance=roundrobin&methods=checkFee,decrypt,getRandomString,encrypt,checkAliFee&pid=9520&revision=1.0.9&side=consumer&timeout=100000&timestamp=1367422311750&version=1.0.9, cause: Waiting server-side response timeout by scan timer. start time: 2013-05-01 23:32:01.750, end time: 2013-05-01 23:33:41.781, client elapsed: 109 ms, server elapsed: 99922 ms, timeout: 100000 ms, request: Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=checkAliFee, parameterTypes=[class java.lang.String, class java.lang.String], arguments=[adsfasd, asdfadsfads], attachments=

    Unknown macro: {path=com.cdc.payment.service.CommonPaymentService, interface=com.cdc.payment.service.CommonPaymentService, group=ctf, timeout=100000, version=1.0.9}

    ]], channel: /192.168.3.22:1418 -> /192.168.3.22:1098, dubbo version: 2.1.8, current host: 192.168.3.22
    com.alibaba.dubbo.rpc.RpcException: Invoke remote method timeout. method: checkAliFee, provider: dubbo://192.168.3.22:1098/com.cdc.payment.service.CommonPaymentService?accesslog=dubbo-logs/payment/invoke.log&anyhost=true&application=payment-gateway&check=false&cluster=failsafe&dubbo=com.pangker.dubbo.library_1.0.0&group=ctf&interface=com.cdc.payment.service.CommonPaymentService&loadbalance=roundrobin&methods=checkFee,decrypt,getRandomString,encrypt,checkAliFee&pid=9520&revision=1.0.9&side=consumer&timeout=100000&timestamp=1367422311750&version=1.0.9, cause: Waiting server-side response timeout by scan timer. start time: 2013-05-01 23:32:01.750, end time: 2013-05-01 23:33:41.781, client elapsed: 109 ms, server elapsed: 99922 ms, timeout: 100000 ms, request: Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=checkAliFee, parameterTypes=[class java.lang.String, class java.lang.String], arguments=[adsfasd, asdfadsfads], attachments=

    ]], channel: /192.168.3.22:1418 -> /192.168.3.22:1098
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:110)
    at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:148)
    at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)
    at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:50)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:47)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
    at com.alibaba.dubbo.rpc.cluster.support.FailsafeClusterInvoker.doInvoke(FailsafeClusterInvoker.java:48)
    at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227)
    at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
    at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
    at com.alibaba.dubbo.common.bytecode.proxy0.checkAliFee(proxy0.java)
    at com.cdc.action.UserManagerController.upLocation(UserManagerController.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2013-05-01 23:32:01.750, end time: 2013-05-01 23:33:41.781, client elapsed: 109 ms, server elapsed: 99922 ms, timeout: 100000 ms, request: Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=checkAliFee, parameterTypes=[class java.lang.String, class java.lang.String], arguments=[adsfasd, asdfadsfads], attachments=

    Unknown macro: {path=com.cdc.payment.service.CommonPaymentService, interface=com.cdc.payment.service.CommonPaymentService, group=ctf, timeout=100000, version=1.0.9}

    ]], channel: /192.168.3.22:1418 -> /192.168.3.22:1098
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.returnFromResponse(DefaultFuture.java:188)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:110)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84)
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:108)
    ... 46 more
    null

  22. 五月 06, 2013

    Anonymous

    错误的提示信息。

    provider.xml中配置:
    <dubbo:service interface="com.xxx.service.CalculatorService" ref="calculatorService" />

    consumer.xml中配置
    <dubbo:reference id="calculatorService2" interface="com.qunar.flight.dubbo.service.CalculatorService" />

    运行Consumer,报异常:
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'calculatorService' is defined

    不应该是No bean named 'calculatorService2' is defined吗?

  23. 五月 15, 2013

    Anonymous

    使用aop会导致用注解(com.alibaba.dubbo.config.annotation.Service)暴露的服务不能注册到注册中心

  24. 六月 21, 2013

    Anonymous

    关闭服务提供者怎么抛出下列异常,请帮忙看一下:
    Caused by: com.alibaba.dubbo.remoting.RemotingException: com.alibaba.dubbo.remoting.RemotingException: Not found exported service: com.alibaba.dubbo.registry.NotifyListener.25001087:2323 in [com.alibaba.dubbo.registry.NotifyListener.5329507:2323, com.alibaba.dubbo.registry.RegistryService:9090], may be version or group mismatch , channel: consumer: /192.168.62.99:9090 --> provider: /192.168.62.99:2323, message:RpcInvocation [methodName=notify, parameterTypes=[interface java.util.List], arguments=[[]], attachments=

    Unknown macro: {dubbo=2.4.9, input=266, _isCallBackServiceInvoke=true, sys_callback_arg-1=25001087, path=com.alibaba.dubbo.registry.NotifyListener, callback.service.instid=25001087, interface=com.alibaba.dubbo.registry.RegistryService, version=null}

    ]
    com.alibaba.dubbo.remoting.RemotingException: Not found exported service: com.alibaba.dubbo.registry.NotifyListener.25001087:2323 in [com.alibaba.dubbo.registry.NotifyListener.5329507:2323, com.alibaba.dubbo.registry.RegistryService:9090], may be version or group mismatch , channel: consumer: /192.168.62.99:9090 --> provider: /192.168.62.99:2323, message:RpcInvocation [methodName=notify, parameterTypes=[interface java.util.List], arguments=[[]], attachments=

    ]

  25. 八月 06, 2013

    Anonymous

    用dubbo通过 RMI 协议暴露服务时,能不能象 SPRING RMI 那样设置一个 SERVICEPORT?

    1. 十一月 06, 2013

      Anonymous

      <dubbo:protocol name="rmi" port="1099" />

  26. 八月 07, 2013

    Anonymous

    请问,如果服务未启动,消费方工程启动不了,这个有没有办法解决

    1. 十一月 06, 2013

      Anonymous

      <!-- 关闭所有服务的启动时检查:(没有提供者时报错) -->
      <dubbo:consumer check="false" />

  27. 八月 27, 2013

    Anonymous

    应用Dubbo配置服务,接口调用有时会发生2次调用,不知啥情况?

    1. 九月 11, 2013

      Anonymous

      同一个端口注册了两个服务

  28. 九月 25, 2013

    Anonymous

    我的项目 总报这个错:
    警告: Hessian/Burlap: 'net.sf.json.JSONArray' is an unknown class in sun.misc.Launcher$AppClassLoader@53372a1a:
    java.lang.ClassNotFoundException: net.sf.json.JSONArray

    dubbo 需要依赖 net.sf.json.JSONArray 吗?

    我加载了 json-lib 又报错 不能初始化 JsonConfig

  29. 十月 22, 2013

    Anonymous

    发现一个比较怪异的问题,如有3个系统A,B,C 其调用关系如下 A->B->C
    B 提供 dubbo异步服务接口(接口实现的代码中有调用C提供的dubbo服务接口)
    C 提供 dubbo服务接口(非异步调用)

    发现 B->C 是得不到C的返回值的。

    如果将B提供的接口改为(非异步调用的)则B->C 是能够得到C的返回值的。

    麻烦请教下问什么?

  30. 十二月 17, 2013

    Anonymous

    想使用dubbo进行设计,想问一下:注册中心支持热备吗?如果支持,切换到备机时是否需要providor重新注册服务?如何保证注册中心的主备机数据的同步?

  31. 十二月 17, 2013

    Anonymous

    想使用dubbo进行设计,想问一下:注册中心支持热备吗?如果支持,切换到备机时是否需要providor重新注册服务?如何保证注册中心的主备机数据的同步?

Add Comment