开发机上Dubbo使用multicast广播注册中心暴露服务地址
<dubbo:registry protocol="multicast" address="multicast://224.5.6.8:2181" />
发现启动时报如下错误:
2016-04-08 18:32:42
[] [] [WARN]-[Thread: localhost-startStop-1]-[com.alibaba.dubbo.registry.support.AbstractRegistry.notify()]: [DUBBO] Ignore empty notify urls for subscribe url provider://192.168.6.88:20880/com.crm.service.shop.ktShopBreakInfoService?application=jfinal-duboo-provider&category=configurators&check=false&dubbo=2.5.3&interface=com.crm.service.shop.ktShopBreakInfoService&methods=findByShopId&pid=5524&revision=K_Api&side=provider×tamp=1460111561868, dubbo version: 2.5.3, current host: 127.0.0.1
cosumer端也无法调用。
但其它Provider的服务注册没有发生错误,比较了配置文件发现一切正常。可能注册中心有问题。切换为Zookeeper。
1、下载地址:http://www.apache.org/dist/zookeeper/zookeeper-3.4.6/
2、然后将conf\zoo_sample.cfg 更名为zoo.cfg。指定dataDir目录。
3、启动bin\zkServer.cmd
4、将consumer和provider中的注册中心配置设置为
<dubbo:registry protocol="zookeeper" address="zookeeper://192.168.6.88:2181" />
5、项目工程中加入zookeeper-3.3.6.jar、zkclient-0.8.jar
6、重启provider工程。完美!!!
总结:出于时间没有找到确切原因,有可能是multicast广播注册中心的问题。另外,本来想切换为redis注册中心。
<dubbo:registry protocol="redis" address="redis://192.168.6.88:6379" />
但事后发现Dubbo2.5使用的commons-pool与现有项目使用的commons-pool2有冲突,放弃了redis转而使用Dubbo推荐的zookeeper。