package com.neverwinterdp.jvmagent.registry; import com.neverwinterdp.registry.Node; import com.neverwinterdp.registry.NodeCreateMode; import com.neverwinterdp.registry.Registry; import com.neverwinterdp.registry.RegistryConfig; import com.neverwinterdp.registry.RegistryException; import com.neverwinterdp.registry.zk.RegistryImpl; public class JVMRegistry { final static public String JVM_REGISTRY_PATH = "/cluster/jvm-registry"; private Registry registry ; public JVMRegistry(RegistryAgentConfig config) throws RegistryException { RegistryConfig registryConfig = RegistryConfig.getDefault(); registryConfig.setConnect(config.getZookeeperConnect()); registry = new RegistryImpl(registryConfig); } public void connect(long timeout) throws RegistryException { registry.connect(timeout); registry.createIfNotExist(JVM_REGISTRY_PATH) ; } public Registry getRegistry() { return this.registry ; } public void create(JVMInfo info) throws RegistryException { Node jvmRegistryNode = registry.get(JVM_REGISTRY_PATH); Node jvmNode = jvmRegistryNode.createChild(info.getHostname(), NodeCreateMode.EPHEMERAL_SEQUENTIAL); jvmNode.setData(info); } }