protected function unRegisterServiceFromZk()

in provider/core/server/FSOFRegistry.php [224:270]


	protected function unRegisterServiceFromZk()
	{
		$ret = false;
		if(!empty($this->fsofUrlList))
		{
			foreach($this->fsofUrlList as $fsofUrl)
			{
				try
				{
					//清理服务注册数据
					$ret = $this->zkService->unregister($fsofUrl);
					//清理服务脏数据
					$host = $fsofUrl->getHost();
					$port = $fsofUrl->getPort();
					$service = $fsofUrl->getService();
					$language = $fsofUrl->getParams('language');
					$application = $fsofUrl->getParams('application');
					$providerInfo =  FSOFRedis::instance()->getProviderInfo($service);
					if(is_array($providerInfo))
					{
						foreach($providerInfo as $index => $url)
						{
							$urlObj = new FSOFUrl($url);
							if(!empty($urlObj))
							{
								if($service  == $urlObj->getService() && $host == $urlObj->getHost() && $port == $urlObj->getPort()
									&& $application == $urlObj->getParams('application') && $language == $urlObj->getParams('language'))
								{
									$ret = $this->zkService->unregister($urlObj);
                                    $this->logger->info('unRegister|app:'.$this->appName.'|url:'.$urlObj->getOriginUrl());
								}
							}
						}
					}
				}
				catch(\Exception $e)
				{
					$ret = false;
					$errMsg = $e->getMessage();
                    $this->logger->error('unRegister|app:'.$this->appName.'|url:'.$fsofUrl->getOriginUrl().'|path:'.$fsofUrl->getZookeeperPath().'|errMsg:'.$errMsg);
				}
			}
			//断开redis连接
			FSOFRedis::instance()->close();
		}
		return $ret;
	}