private async Task Start() { //if (_isStarted) // return; if (_zookeeper != null) { await _zookeeper.CloseAsync(); } _zookeeper = new Zookeeper(_registryAddress, _sessionTimeout, this); //_zookeeper = new Zookeeper("192.168.9.1:2181", 3600 * 1000, this); try { var root = await _zookeeper.ExistsAsync(ServiceRootPath).ConfigureAwait(false); if (root == null) { try { ////创建一个节点root,数据是mydata,不进行ACL权限控制,节点为永久性的(即客户端shutdown了也不会消失) // ReSharper disable once UnusedVariable var serviceRootNode = await _zookeeper.CreateAsync(ServiceRootPath, "rpclite service root node".GetBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT).ConfigureAwait(false); } catch (KeeperException ex) { if (ex.getCode() != KeeperException.Code.NODEEXISTS) { throw; } } } if (!_registerServiceDictionary.IsEmpty) { foreach (var item in _registerServiceDictionary) { await RegisterInternalAsync(item.Key); } } if (!_serviceAddressDictionary.IsEmpty) { foreach (var item in _serviceAddressDictionary) { await LookupInternalAsync(new ServiceIdentifier(item.Value.ClientInfo.Name, item.Value.ClientInfo.Group)); } } //_isStarted = true; } catch (KeeperException ex) { LogHelper.Error(ex); throw; } catch (Exception ex) { LogHelper.Error(ex); throw; } }
public ZookeeperPsDriverInfo(PSDriveInfo driveInfo, IZookeeper zookeeper) : base(driveInfo) { this.zookeeper = zookeeper; }
private async Task Start() { //if (_isStarted) // return; if (_zookeeper != null) await _zookeeper.CloseAsync(); _zookeeper = new Zookeeper(_registryAddress, _sessionTimeout, this); //_zookeeper = new Zookeeper("192.168.9.1:2181", 3600 * 1000, this); try { var root = await _zookeeper.ExistsAsync(ServiceRootPath).ConfigureAwait(false); if (root == null) { try { ////创建一个节点root,数据是mydata,不进行ACL权限控制,节点为永久性的(即客户端shutdown了也不会消失) // ReSharper disable once UnusedVariable var serviceRootNode = await _zookeeper.CreateAsync(ServiceRootPath, "rpclite service root node".GetBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT).ConfigureAwait(false); } catch (KeeperException ex) { if (ex.getCode() != KeeperException.Code.NODEEXISTS) throw; } } if (!_registerServiceDictionary.IsEmpty) { foreach (var item in _registerServiceDictionary) { await RegisterInternalAsync(item.Key); } } if (!_serviceAddressDictionary.IsEmpty) { foreach (var item in _serviceAddressDictionary) { await LookupInternalAsync(new ServiceIdentifier(item.Value.ClientInfo.Name, item.Value.ClientInfo.Group)); } } //_isStarted = true; } catch (KeeperException ex) { LogHelper.Error(ex); throw; } catch (Exception ex) { LogHelper.Error(ex); throw; } }
public NormalizePathZookeeperDecorator(IZookeeper innerZookeeper) { this.innerZookeeper = innerZookeeper; }