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;
}