diff --git a/common/rpc_service.go b/common/rpc_service.go index 05ca3721d98124ccbdebedb47b5ae4edd8b84add..f8b8e0761e86a3038d90e4cf457ac49df66bc92a 100644 --- a/common/rpc_service.go +++ b/common/rpc_service.go @@ -272,7 +272,7 @@ func (sm *serviceMap) UnRegister(interfaceName, protocol, serviceId string) erro } } delete(svcs, serviceId) - if len(sm.serviceMap) == 0 { + if len(sm.serviceMap[protocol]) == 0 { delete(sm.serviceMap, protocol) } diff --git a/remoting/zookeeper/listener.go b/remoting/zookeeper/listener.go index 1ffea88a862552f1a45af0806a829902e63ed55e..948e0d73a579c82601eb759ea89953d1748bf55b 100644 --- a/remoting/zookeeper/listener.go +++ b/remoting/zookeeper/listener.go @@ -235,7 +235,7 @@ func (l *ZkEventListener) listenDirEvent(conf *common.URL, zkPath string, listen // Only need to compare Path when subscribing to provider if strings.LastIndex(zkPath, constant.PROVIDER_CATEGORY) != -1 { provider, _ := common.NewURL(c) - if provider.Path != conf.Path { + if provider.ServiceKey() != conf.ServiceKey() { continue } }