public class org.apache.dubbo.registry.etcd.EtcdServiceDiscovery extends org.apache.dubbo.registry.client.AbstractServiceDiscovery implements org.apache.dubbo.event.EventListener
{
private static final org.apache.dubbo.common.logger.Logger logger;
private final java.lang.String root;
private final java.util.Set services;
private final java.util.Map childListenerMap;
org.apache.dubbo.remoting.etcd.EtcdClient etcdClient;
org.apache.dubbo.event.EventDispatcher dispatcher;
public void <init>()
{
java.util.concurrent.ConcurrentHashMap v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.common.utils.ConcurrentHashSet v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
specialinvoke v.<org.apache.dubbo.registry.client.AbstractServiceDiscovery: void <init>()>();
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.lang.String root> = "/services";
v = new org.apache.dubbo.common.utils.ConcurrentHashSet;
specialinvoke v.<org.apache.dubbo.common.utils.ConcurrentHashSet: void <init>()>();
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Set services> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Map childListenerMap> = v;
return;
}
public void onEvent(org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent)
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
java.lang.String v;
org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;
v = virtualinvoke v.<org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent: java.lang.String getServiceName()>();
virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: void registerServiceWatcher(java.lang.String)>(v);
return;
}
public void initialize(org.apache.dubbo.common.URL) throws java.lang.Exception
{
java.lang.IllegalStateException v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.common.extension.ExtensionLoader v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
org.apache.dubbo.remoting.etcd.StateListener v;
org.apache.dubbo.common.URL v;
java.lang.Object v;
java.lang.String v, v;
org.apache.dubbo.event.EventDispatcher v, v;
boolean v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/remoting/etcd/EtcdTransporter;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.lang.Object getAdaptiveExtension()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: boolean isAnyHost()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getHost()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Service discovery address is invalid, actual: \'\u0001\'");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdTransporter: org.apache.dubbo.remoting.etcd.EtcdClient connect(org.apache.dubbo.common.URL)>(v);
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient> = v;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = staticinvoke <org.apache.dubbo.registry.etcd.EtcdServiceDiscovery$lambda_initialize_0__589: org.apache.dubbo.remoting.etcd.StateListener bootstrap$(org.apache.dubbo.registry.etcd.EtcdServiceDiscovery)>(v);
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: void addStateListener(org.apache.dubbo.remoting.etcd.StateListener)>(v);
v = staticinvoke <org.apache.dubbo.event.EventDispatcher: org.apache.dubbo.event.EventDispatcher getDefaultExtension()>();
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.event.EventDispatcher dispatcher> = v;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.event.EventDispatcher dispatcher>;
interfaceinvoke v.<org.apache.dubbo.event.EventDispatcher: void addEventListener(org.apache.dubbo.event.EventListener)>(v);
return;
}
public void destroy()
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v, v;
boolean v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
if v == null goto label;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: boolean isConnected()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: void close()>();
label:
return;
}
public void doRegister(org.apache.dubbo.registry.client.ServiceInstance)
{
java.lang.Throwable v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
java.util.Set v;
org.apache.dubbo.registry.client.ServiceInstance v;
org.apache.dubbo.rpc.RpcException v;
org.apache.dubbo.common.URL v;
com.google.gson.Gson v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
label:
v = virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.lang.String toPath(org.apache.dubbo.registry.client.ServiceInstance)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = new com.google.gson.Gson;
specialinvoke v.<com.google.gson.Gson: void <init>()>();
v = virtualinvoke v.<com.google.gson.Gson: java.lang.String toJson(java.lang.Object)>(v);
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: boolean putEphemeral(java.lang.String,java.lang.String)>(v, v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Set services>;
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getServiceName()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.dubbo.rpc.RpcException;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: org.apache.dubbo.common.URL getUrl()>();
v = staticinvoke <org.apache.dubbo.remoting.etcd.option.OptionUtil: boolean isProtocolError(java.lang.Throwable)>(v);
if v == 0 goto label;
v = "etcd registry may not be supported yet or etcd registry is not available.";
goto label;
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.registry.client.ServiceInstance,org.apache.dubbo.common.URL,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to register \u to etcd \u, cause: \u0001");
specialinvoke v.<org.apache.dubbo.rpc.RpcException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
java.lang.String toPath(org.apache.dubbo.registry.client.ServiceInstance)
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.registry.client.ServiceInstance v;
java.lang.Integer v;
java.lang.String v, v, v, v, v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
v = <java.io.File: java.lang.String separator>;
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getServiceName()>();
v = <java.io.File: java.lang.String separator>;
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getHost()>();
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.Integer getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.Integer)>(v, v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/services\u0001\u0001\u0001\u0001:\u0001");
return v;
}
java.lang.String toParentPath(java.lang.String)
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
java.lang.String v, v, v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: java.lang.String;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/services\u0001\u0001");
return v;
}
public void doUpdate(org.apache.dubbo.registry.client.ServiceInstance)
{
java.lang.Throwable v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
java.util.Set v;
org.apache.dubbo.registry.client.ServiceInstance v;
org.apache.dubbo.rpc.RpcException v;
org.apache.dubbo.common.URL v;
com.google.gson.Gson v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
label:
v = virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.lang.String toPath(org.apache.dubbo.registry.client.ServiceInstance)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = new com.google.gson.Gson;
specialinvoke v.<com.google.gson.Gson: void <init>()>();
v = virtualinvoke v.<com.google.gson.Gson: java.lang.String toJson(java.lang.Object)>(v);
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: boolean putEphemeral(java.lang.String,java.lang.String)>(v, v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Set services>;
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getServiceName()>();
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.dubbo.rpc.RpcException;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: org.apache.dubbo.common.URL getUrl()>();
v = staticinvoke <org.apache.dubbo.remoting.etcd.option.OptionUtil: boolean isProtocolError(java.lang.Throwable)>(v);
if v == 0 goto label;
v = "etcd registry may not be supported yet or etcd registry is not available.";
goto label;
label:
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.registry.client.ServiceInstance,org.apache.dubbo.common.URL,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to register \u to etcd \u, cause: \u0001");
specialinvoke v.<org.apache.dubbo.rpc.RpcException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void unregister(org.apache.dubbo.registry.client.ServiceInstance) throws java.lang.RuntimeException
{
java.lang.Throwable v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
java.util.Set v;
org.apache.dubbo.registry.client.ServiceInstance v;
org.apache.dubbo.rpc.RpcException v;
org.apache.dubbo.common.URL v;
java.lang.String v, v, v, v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
label:
v = virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.lang.String toPath(org.apache.dubbo.registry.client.ServiceInstance)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: void delete(java.lang.String)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Set services>;
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getServiceName()>();
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.registry.client.ServiceInstance serviceInstance> = null;
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.dubbo.rpc.RpcException;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: org.apache.dubbo.common.URL getUrl()>();
v = virtualinvoke v.<java.lang.Throwable: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.registry.client.ServiceInstance,org.apache.dubbo.common.URL,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Failed to unregister \u to etcd \u, cause: \u0001");
specialinvoke v.<org.apache.dubbo.rpc.RpcException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.util.Set getServices()
{
java.util.Set v, v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Set services>;
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
public void addServiceInstancesChangedListener(org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener) throws java.lang.NullPointerException, java.lang.IllegalArgumentException
{
java.util.function.Consumer v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener v;
java.util.Set v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;
v = virtualinvoke v.<org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener: java.util.Set getServiceNames()>();
v = staticinvoke <org.apache.dubbo.registry.etcd.EtcdServiceDiscovery$lambda_addServiceInstancesChangedListener_1__590: java.util.function.Consumer bootstrap$(org.apache.dubbo.registry.etcd.EtcdServiceDiscovery)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
return;
}
public java.util.List getInstances(java.lang.String)
{
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
java.util.ArrayList v;
com.google.gson.Gson v;
int v;
java.lang.String v, v, v;
boolean v, v;
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
java.util.Iterator v;
java.util.List v, v;
java.lang.Object v, v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: java.lang.String;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.lang.String toParentPath(java.lang.String)>(v);
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: java.util.List getChildren(java.lang.String)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = <java.util.Collections: java.util.List EMPTY_LIST>;
return v;
label:
v = new java.util.ArrayList;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = new com.google.gson.Gson;
specialinvoke v.<com.google.gson.Gson: void <init>()>();
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
v = interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: java.lang.String getKVValue(java.lang.String)>(v);
v = virtualinvoke v.<com.google.gson.Gson: java.lang.Object fromJson(java.lang.String,java.lang.Class)>(v, class "Lorg/apache/dubbo/registry/client/DefaultServiceInstance;");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
protected void registerServiceWatcher(java.lang.String)
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.remoting.etcd.EtcdClient v, v;
java.util.function.Supplier v;
java.util.Map v;
java.util.Optional v;
java.lang.Object v, v;
java.lang.String v, v, v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v := @parameter: java.lang.String;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("/services\u0001\u0001");
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: java.util.Map childListenerMap>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = staticinvoke <org.apache.dubbo.registry.etcd.EtcdServiceDiscovery$lambda_registerServiceWatcher_3__591: java.util.function.Supplier bootstrap$(org.apache.dubbo.registry.etcd.EtcdServiceDiscovery,java.lang.String)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: void create(java.lang.String)>(v);
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.remoting.etcd.EtcdClient etcdClient>;
interfaceinvoke v.<org.apache.dubbo.remoting.etcd.EtcdClient: java.util.List addChildListener(java.lang.String,org.apache.dubbo.remoting.etcd.ChildListener)>(v, v);
return;
}
private void recover() throws java.lang.Exception
{
org.apache.dubbo.registry.etcd.EtcdServiceDiscovery v;
org.apache.dubbo.common.logger.Logger v, v;
org.apache.dubbo.registry.client.ServiceInstance v, v, v;
java.lang.String v;
boolean v;
v := @this: org.apache.dubbo.registry.etcd.EtcdServiceDiscovery;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
if v == null goto label;
v = <org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = <org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.common.logger.Logger logger>;
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.dubbo.registry.client.ServiceInstance)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Recover application register: \u0001");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
virtualinvoke v.<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: void register(org.apache.dubbo.registry.client.ServiceInstance)>(v);
label:
return;
}
static void <clinit>()
{
org.apache.dubbo.common.logger.Logger v;
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Logger getLogger(java.lang.Class)>(class "Lorg/apache/dubbo/registry/etcd/EtcdServiceDiscovery;");
<org.apache.dubbo.registry.etcd.EtcdServiceDiscovery: org.apache.dubbo.common.logger.Logger logger> = v;
return;
}
}