Beispiel #1
0
 /**
  * @param $invokDesc
  * @param $invoker
  * @return bool
  * Register consumer information node to the zookeeper.
  */
 public function register($invokDesc, $invoker)
 {
     $desc = $invokDesc->toString();
     if (!array_key_exists($desc, self::$ServiceMap)) {
         self::$ServiceMap[$desc] = $invoker;
     }
     $this->subscribe($invokDesc);
     $providerHost = $this->providersCluster->getProvider($invokDesc);
     $invoker->setHost(Invoker::genDubboUrl($providerHost, $invokDesc));
     $registerNode = $this->makeRegistryNode($invokDesc->getService());
     try {
         $parts = explode('/', $registerNode);
         $parts = array_filter($parts);
         $subpath = '';
         while (count($parts) > 1) {
             $subpath .= '/' . array_shift($parts);
             if (!$this->zookeeper->exists($subpath)) {
                 $this->zookeeper->create($subpath, '', $this->acl, null);
             }
         }
         if (!$this->zookeeper->exists($registerNode)) {
             $this->zookeeper->create($registerNode, '', $this->acl, null);
         }
     } catch (ZookeeperNoNodeException $ze) {
         error_log("This zookeeper node does not exsit.Please check the zookeeper node information.");
     }
     return true;
 }
Beispiel #2
0
 public function register($invokDesc, $invoker)
 {
     $desc = $invokDesc->toString();
     if (!array_key_exists($desc, self::$ServiceMap)) {
         self::$ServiceMap[$desc] = $invoker;
     }
     $this->subscribe($invokDesc);
     $providerHost = $this->providersCluster->getProvider($invokDesc);
     $invoker->setHost(Invoker::genDubboUrl($providerHost, $invokDesc));
     $registerPath = $this->getRegistryPath($invokDesc->getService());
     $this->zookeeper->create($registerPath, null, $this->acl, null);
     return true;
 }
Beispiel #3
0
 public function __construct()
 {
     parent::__construct();
 }