public class org.apache.dubbo.config.bootstrap.DubboBootstrap extends org.apache.dubbo.event.GenericEventListener
{
public static final java.lang.String DEFAULT_REGISTRY_ID;
public static final java.lang.String DEFAULT_PROTOCOL_ID;
public static final java.lang.String DEFAULT_SERVICE_ID;
public static final java.lang.String DEFAULT_REFERENCE_ID;
public static final java.lang.String DEFAULT_PROVIDER_ID;
public static final java.lang.String DEFAULT_CONSUMER_ID;
private static final java.lang.String NAME;
private final org.apache.dubbo.common.logger.Logger logger;
private static volatile org.apache.dubbo.config.bootstrap.DubboBootstrap instance;
private final java.util.concurrent.atomic.AtomicBoolean awaited;
private final java.util.concurrent.locks.Lock lock;
private final java.util.concurrent.locks.Condition condition;
private final java.util.concurrent.locks.Lock destroyLock;
private final java.util.concurrent.ExecutorService executorService;
private final org.apache.dubbo.event.EventDispatcher eventDispatcher;
private final org.apache.dubbo.common.threadpool.manager.ExecutorRepository executorRepository;
private final org.apache.dubbo.config.context.ConfigManager configManager;
private final org.apache.dubbo.common.config.Environment environment;
private org.apache.dubbo.config.utils.ReferenceConfigCache cache;
private volatile boolean exportAsync;
private volatile boolean referAsync;
private java.util.concurrent.atomic.AtomicBoolean initialized;
private java.util.concurrent.atomic.AtomicBoolean started;
private java.util.concurrent.atomic.AtomicBoolean ready;
private java.util.concurrent.atomic.AtomicBoolean destroyed;
private volatile org.apache.dubbo.registry.client.ServiceInstance serviceInstance;
private volatile org.apache.dubbo.metadata.MetadataService metadataService;
private volatile org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter;
private java.util.List exportedServices;
private java.util.List asyncExportingFutures;
private java.util.List asyncReferringFutures;
public static org.apache.dubbo.config.bootstrap.DubboBootstrap getInstance()
{
java.lang.Throwable v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v, v, v;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap instance>;
if v != null goto label;
entermonitor class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrap;";
label:
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap instance>;
if v != null goto label;
v = new org.apache.dubbo.config.bootstrap.DubboBootstrap;
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void <init>()>();
<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap instance> = v;
label:
exitmonitor class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrap;";
label:
goto label;
label:
v := @caughtexception;
exitmonitor class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrap;";
throw v;
label:
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap instance>;
return v;
catch java.lang.Throwable from label to label with label;
}
private void <init>()
{
org.apache.dubbo.common.extension.ExtensionLoader v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.ArrayList v, v, v;
org.apache.dubbo.config.DubboShutdownHook v;
org.apache.dubbo.common.config.Environment v;
java.util.concurrent.ExecutorService v;
org.apache.dubbo.common.lang.ShutdownHookCallback v;
java.util.concurrent.locks.ReentrantLock v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v;
org.apache.dubbo.common.lang.ShutdownHookCallbacks v;
java.util.concurrent.locks.Condition v;
java.util.concurrent.locks.Lock v;
java.lang.Class v;
java.lang.Object v;
org.apache.dubbo.event.EventDispatcher v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
specialinvoke v.<org.apache.dubbo.event.GenericEventListener: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.common.logger.LoggerFactory: org.apache.dubbo.common.logger.Logger getLogger(java.lang.Class)>(v);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean awaited> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock lock> = v;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock lock>;
v = interfaceinvoke v.<java.util.concurrent.locks.Lock: java.util.concurrent.locks.Condition newCondition()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Condition condition> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock destroyLock> = v;
v = staticinvoke <java.util.concurrent.Executors: java.util.concurrent.ExecutorService newSingleThreadExecutor()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.ExecutorService executorService> = v;
v = staticinvoke <org.apache.dubbo.event.EventDispatcher: org.apache.dubbo.event.EventDispatcher getDefaultExtension()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.event.EventDispatcher eventDispatcher> = v;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/common/threadpool/manager/ExecutorRepository;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.lang.Object getDefaultExtension()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.threadpool.manager.ExecutorRepository executorRepository> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean initialized> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean started> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean ready> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean destroyed> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List exportedServices> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncReferringFutures> = v;
v = staticinvoke <org.apache.dubbo.rpc.model.ApplicationModel: org.apache.dubbo.config.context.ConfigManager getConfigManager()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager> = v;
v = staticinvoke <org.apache.dubbo.rpc.model.ApplicationModel: org.apache.dubbo.common.config.Environment getEnvironment()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment> = v;
v = staticinvoke <org.apache.dubbo.config.DubboShutdownHook: org.apache.dubbo.config.DubboShutdownHook getDubboShutdownHook()>();
virtualinvoke v.<org.apache.dubbo.config.DubboShutdownHook: void register()>();
v = <org.apache.dubbo.common.lang.ShutdownHookCallbacks: org.apache.dubbo.common.lang.ShutdownHookCallbacks INSTANCE>;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$destroy__9: org.apache.dubbo.common.lang.ShutdownHookCallback bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
virtualinvoke v.<org.apache.dubbo.common.lang.ShutdownHookCallbacks: org.apache.dubbo.common.lang.ShutdownHookCallbacks addCallback(org.apache.dubbo.common.lang.ShutdownHookCallback)>(v);
return;
}
public void unRegisterShutdownHook()
{
org.apache.dubbo.config.DubboShutdownHook v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.config.DubboShutdownHook: org.apache.dubbo.config.DubboShutdownHook getDubboShutdownHook()>();
virtualinvoke v.<org.apache.dubbo.config.DubboShutdownHook: void unregister()>();
return;
}
private boolean isOnlyRegisterProvider()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.ApplicationConfig v;
java.lang.Boolean v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.Boolean getRegisterConsumer()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.lang.String getMetadataType()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.ApplicationConfig v;
java.lang.String v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getMetadataType()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = "local";
label:
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap metadataReport(org.apache.dubbo.config.MetadataReportConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
org.apache.dubbo.config.MetadataReportConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.MetadataReportConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addMetadataReport(org.apache.dubbo.config.MetadataReportConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap metadataReports(java.util.List)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addMetadataReports(java.lang.Iterable)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap application(java.lang.String)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_application_0__10: java.util.function.Consumer bootstrap$()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap application(java.lang.String,java.util.function.Consumer)>(v, v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap application(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.ApplicationConfig v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder createApplicationBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder: org.apache.dubbo.config.ApplicationConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap application(org.apache.dubbo.config.ApplicationConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap application(org.apache.dubbo.config.ApplicationConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
org.apache.dubbo.config.ApplicationConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ApplicationConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void setApplication(org.apache.dubbo.config.ApplicationConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap registry(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap registry(java.lang.String,java.util.function.Consumer)>("REGISTRY#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap registry(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.String v;
org.apache.dubbo.config.bootstrap.builders.RegistryBuilder v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.RegistryBuilder createRegistryBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.RegistryBuilder: org.apache.dubbo.config.RegistryConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap registry(org.apache.dubbo.config.RegistryConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap registry(org.apache.dubbo.config.RegistryConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
org.apache.dubbo.config.RegistryConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addRegistry(org.apache.dubbo.config.RegistryConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap registries(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$registry__11: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap protocol(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap protocol(java.lang.String,java.util.function.Consumer)>("PROTOCOL#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap protocol(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder v;
org.apache.dubbo.config.ProtocolConfig v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder createProtocolBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder: org.apache.dubbo.config.ProtocolConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap protocol(org.apache.dubbo.config.ProtocolConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap protocol(org.apache.dubbo.config.ProtocolConfig)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.ProtocolConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ProtocolConfig;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap protocols(java.util.List)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap protocols(java.util.List)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addProtocols(java.lang.Iterable)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap service(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap service(java.lang.String,java.util.function.Consumer)>("SERVICE#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap service(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.builders.ServiceBuilder v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
java.lang.String v;
org.apache.dubbo.config.ServiceConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ServiceBuilder createServiceBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ServiceBuilder: org.apache.dubbo.config.ServiceConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap service(org.apache.dubbo.config.ServiceConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap service(org.apache.dubbo.config.ServiceConfig)
{
org.apache.dubbo.config.ServiceConfig v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ServiceConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addService(org.apache.dubbo.config.ServiceConfigBase)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap services(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addService__12: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap reference(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap reference(java.lang.String,java.util.function.Consumer)>("REFERENCE#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap reference(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder v;
org.apache.dubbo.config.ReferenceConfig v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder createReferenceBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder: org.apache.dubbo.config.ReferenceConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap reference(org.apache.dubbo.config.ReferenceConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap reference(org.apache.dubbo.config.ReferenceConfig)
{
org.apache.dubbo.config.ReferenceConfig v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ReferenceConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addReference(org.apache.dubbo.config.ReferenceConfigBase)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap references(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addReference__13: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap provider(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap provider(java.lang.String,java.util.function.Consumer)>("PROVIDER#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap provider(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.ProviderConfig v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.bootstrap.builders.ProviderBuilder v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ProviderBuilder createProviderBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProviderBuilder: org.apache.dubbo.config.ProviderConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap provider(org.apache.dubbo.config.ProviderConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap provider(org.apache.dubbo.config.ProviderConfig)
{
org.apache.dubbo.config.ProviderConfig v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ProviderConfig;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap providers(java.util.List)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap providers(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addProvider__14: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap consumer(java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.function.Consumer;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap consumer(java.lang.String,java.util.function.Consumer)>("CONSUMER#DEFAULT", v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap consumer(java.lang.String, java.util.function.Consumer)
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
java.lang.String v;
org.apache.dubbo.config.ConsumerConfig v;
org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.util.function.Consumer;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder createConsumerBuilder(java.lang.String)>(v);
interfaceinvoke v.<java.util.function.Consumer: void accept(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder: org.apache.dubbo.config.ConsumerConfig build()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap consumer(org.apache.dubbo.config.ConsumerConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap consumer(org.apache.dubbo.config.ConsumerConfig)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.ConsumerConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ConsumerConfig;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap consumers(java.util.List)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap consumers(java.util.List)
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addConsumer__15: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap configCenter(org.apache.dubbo.config.ConfigCenterConfig)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v, v;
org.apache.dubbo.config.ConfigCenterConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ConfigCenterConfig;
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap configCenters(java.util.List)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap configCenters(java.util.List)
{
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.util.List;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addConfigCenters(java.lang.Iterable)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap monitor(org.apache.dubbo.config.MonitorConfig)
{
org.apache.dubbo.config.MonitorConfig v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.MonitorConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void setMonitor(org.apache.dubbo.config.MonitorConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap metrics(org.apache.dubbo.config.MetricsConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
org.apache.dubbo.config.MetricsConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.MetricsConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void setMetrics(org.apache.dubbo.config.MetricsConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap module(org.apache.dubbo.config.ModuleConfig)
{
org.apache.dubbo.config.ModuleConfig v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ModuleConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void setModule(org.apache.dubbo.config.ModuleConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap ssl(org.apache.dubbo.config.SslConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.context.ConfigManager v;
org.apache.dubbo.config.SslConfig v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.SslConfig;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void setSsl(org.apache.dubbo.config.SslConfig)>(v);
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap cache(org.apache.dubbo.config.utils.ReferenceConfigCache)
{
org.apache.dubbo.config.utils.ReferenceConfigCache v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.utils.ReferenceConfigCache;
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache> = v;
return v;
}
public org.apache.dubbo.config.utils.ReferenceConfigCache getCache()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.utils.ReferenceConfigCache v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache>;
if v != null goto label;
v = staticinvoke <org.apache.dubbo.config.utils.ReferenceConfigCache: org.apache.dubbo.config.utils.ReferenceConfigCache getCache()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache> = v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache>;
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap exportAsync()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean exportAsync> = 1;
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap referAsync()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean referAsync> = 1;
return v;
}
public void init()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void initialize()>();
return;
}
public void initialize()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean initialized>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v != 0 goto label;
return;
label:
staticinvoke <org.apache.dubbo.rpc.model.ApplicationModel: void initFrameworkExts()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void startConfigCenter()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void loadRemoteConfigs()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void checkGlobalConfigs()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void startMetadataCenter()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void initMetadataService()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void initEventListener()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u has been initialized!");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
return;
}
private void checkGlobalConfigs()
{
org.apache.dubbo.config.SslConfig v;
org.apache.dubbo.config.ApplicationConfig v;
org.apache.dubbo.config.MetricsConfig v;
boolean v, v, v, v, v, v, v, v;
java.util.Collection v, v, v, v, v;
java.util.Optional v, v;
org.apache.dubbo.config.ModuleConfig v;
org.apache.dubbo.config.context.ConfigManager v, v, v, v, v, v, v, v, v;
java.util.function.Supplier v, v;
org.apache.dubbo.config.MetadataReportConfig v;
java.util.Iterator v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.MonitorConfig v;
java.lang.Object v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateApplicationConfig(org.apache.dubbo.config.ApplicationConfig)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getMetadataConfigs()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = new org.apache.dubbo.config.MetadataReportConfig;
specialinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void refresh()>();
v = virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: boolean isValid()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addMetadataReport(org.apache.dubbo.config.MetadataReportConfig)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getMetadataConfigs()>();
label:
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Collection: 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()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void refresh()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateMetadataConfig(org.apache.dubbo.config.MetadataReportConfig)>(v);
goto label;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getProviders()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getDefaultProvider()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_checkGlobalConfigs_1__17: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getProviders()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateProviderConfig(org.apache.dubbo.config.ProviderConfig)>(v);
goto label;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getConsumers()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getDefaultConsumer()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_checkGlobalConfigs_2__16: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getConsumers()>();
v = interfaceinvoke v.<java.util.Collection: 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()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateConsumerConfig(org.apache.dubbo.config.ConsumerConfig)>(v);
goto label;
label:
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.MonitorConfig getMonitor()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateMonitorConfig(org.apache.dubbo.config.MonitorConfig)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.MetricsConfig getMetrics()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateMetricsConfig(org.apache.dubbo.config.MetricsConfig)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ModuleConfig getModule()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateModuleConfig(org.apache.dubbo.config.ModuleConfig)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.SslConfig getSsl()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateSslConfig(org.apache.dubbo.config.SslConfig)>(v);
return;
}
private void startConfigCenter()
{
org.apache.dubbo.config.ConfigCenterConfig v;
org.apache.dubbo.config.context.ConfigManager v, v, v, v;
org.apache.dubbo.common.config.Environment v;
boolean v, v, v, v, v;
java.util.Iterator v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Collection v;
java.lang.Object v, v;
org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration v;
org.apache.dubbo.common.config.configcenter.DynamicConfiguration v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void useRegistryAsConfigCenterIfNecessary()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getConfigCenters()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = new org.apache.dubbo.config.ConfigCenterConfig;
specialinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void refresh()>();
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: boolean isValid()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addConfigCenter(org.apache.dubbo.config.ConfigCenterConfig)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getConfigCenters()>();
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: 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()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void refresh()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateConfigCenterConfig(org.apache.dubbo.config.ConfigCenterConfig)>(v);
goto label;
label:
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = new org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration;
specialinvoke v.<org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration: void <init>()>();
v = interfaceinvoke v.<java.util.Collection: 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 = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.configcenter.DynamicConfiguration prepareEnvironment(org.apache.dubbo.config.ConfigCenterConfig)>(v);
virtualinvoke v.<org.apache.dubbo.common.config.configcenter.wrapper.CompositeDynamicConfiguration: void addConfiguration(org.apache.dubbo.common.config.configcenter.DynamicConfiguration)>(v);
goto label;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment>;
virtualinvoke v.<org.apache.dubbo.common.config.Environment: void setDynamicConfiguration(org.apache.dubbo.common.config.configcenter.DynamicConfiguration)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void refreshAll()>();
return;
}
private void startMetadataCenter()
{
java.lang.IllegalStateException v;
java.util.Iterator v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Collection v;
org.apache.dubbo.config.ApplicationConfig v;
org.apache.dubbo.config.context.ConfigManager v;
java.lang.Object v;
java.lang.String v, v;
boolean v, v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void useRegistryAsMetadataCenterIfNecessary()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getMetadataType()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getMetadataConfigs()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = "remote";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("No MetadataConfig found, Metadata Center address is required when \'metadata=remote\' is enabled.");
throw v;
label:
return;
label:
v = interfaceinvoke v.<java.util.Collection: 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()>();
staticinvoke <org.apache.dubbo.config.utils.ConfigValidationUtils: void validateMetadataConfig(org.apache.dubbo.config.MetadataReportConfig)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: boolean isValid()>();
if v != 0 goto label;
return;
label:
staticinvoke <org.apache.dubbo.metadata.report.MetadataReportInstance: void init(org.apache.dubbo.config.MetadataReportConfig)>(v);
goto label;
label:
return;
}
private void useRegistryAsConfigCenterIfNecessary()
{
org.apache.dubbo.config.context.ConfigManager v, v, v;
java.util.function.Function v;
org.apache.dubbo.common.config.Environment v;
boolean v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.function.Predicate v;
java.util.Collection v;
java.util.function.Consumer v;
java.util.List v;
java.util.stream.Stream v, v, v;
java.util.Optional v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment>;
v = virtualinvoke v.<org.apache.dubbo.common.config.Environment: java.util.Optional getDynamicConfiguration()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
return;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getConfigCenters()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.List getDefaultRegistries()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$isUsedRegistryAsConfigCenter__18: java.util.function.Predicate bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$registryAsConfigCenter__19: java.util.function.Function bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addConfigCenter__20: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
public boolean isUsedRegistryAsConfigCenter(org.apache.dubbo.config.RegistryConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.RegistryConfig v;
java.util.function.Supplier v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$getUseAsConfigCenter__21: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.RegistryConfig)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean isUsedRegistryAsCenter(org.apache.dubbo.config.RegistryConfig,java.util.function.Supplier,java.lang.String,java.lang.Class)>(v, v, "config", class "Lorg/apache/dubbo/common/config/configcenter/DynamicConfigurationFactory;");
return v;
}
public org.apache.dubbo.config.ConfigCenterConfig registryAsConfigCenter(org.apache.dubbo.config.RegistryConfig)
{
org.apache.dubbo.config.ConfigCenterConfig v;
java.util.HashMap v;
long v;
java.lang.Integer v, v, v;
java.lang.Long v;
java.util.Map v, v, v, v, v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.Integer getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Integer)>(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[])>("config-center-\u0001-\u0001");
v = new org.apache.dubbo.config.ConfigCenterConfig;
specialinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setId(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.util.Map getParameters()>();
if v != null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setParameters(java.util.Map)>(v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.util.Map getParameters()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.util.Map getParameters()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getClient()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("client", v);
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setProtocol(java.lang.String)>(v);
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setPort(java.lang.Integer)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getGroup()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getGroup()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setGroup(java.lang.String)>(v);
label:
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String getRegistryCompatibleAddress(org.apache.dubbo.config.RegistryConfig)>(v);
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setAddress(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getGroup()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setNamespace(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getUsername()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setUsername(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getPassword()>();
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setPassword(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.Integer getTimeout()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.Integer getTimeout()>();
v = virtualinvoke v.<java.lang.Integer: long longValue()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setTimeout(java.lang.Long)>(v);
label:
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: void setHighestPriority(java.lang.Boolean)>(v);
return v;
}
private void useRegistryAsMetadataCenterIfNecessary()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.function.Predicate v;
java.util.Collection v;
org.apache.dubbo.config.context.ConfigManager v, v, v;
java.util.function.Function v;
java.util.function.Consumer v;
java.util.List v;
java.util.stream.Stream v, v, v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getMetadataConfigs()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.List getDefaultRegistries()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$isUsedRegistryAsMetadataCenter__22: java.util.function.Predicate bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$registryAsMetadataCenter__23: java.util.function.Function bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$addMetadataReport__24: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.context.ConfigManager)>(v);
interfaceinvoke v.<java.util.stream.Stream: void forEach(java.util.function.Consumer)>(v);
return;
}
public boolean isUsedRegistryAsMetadataCenter(org.apache.dubbo.config.RegistryConfig)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.RegistryConfig v;
java.util.function.Supplier v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$getUseAsMetadataCenter__25: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.RegistryConfig)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean isUsedRegistryAsCenter(org.apache.dubbo.config.RegistryConfig,java.util.function.Supplier,java.lang.String,java.lang.Class)>(v, v, "metadata", class "Lorg/apache/dubbo/metadata/report/MetadataReportFactory;");
return v;
}
private boolean isUsedRegistryAsCenter(org.apache.dubbo.config.RegistryConfig, java.util.function.Supplier, java.lang.String, java.lang.Class)
{
java.lang.Object[] v, v;
java.util.function.Supplier v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.String v, v, v, v, v, v, v;
boolean v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v, v, v;
java.lang.Class v;
java.lang.Object v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v := @parameter: java.util.function.Supplier;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Class;
v = interfaceinvoke v.<java.util.function.Supplier: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getProtocol()>();
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean supportsExtension(java.lang.Class,java.lang.String)>(v, v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = newarray (java.lang.Object)[4];
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
v[0] = v;
v[1] = v;
if v == 0 goto label;
v = "supports";
goto label;
label:
v = "does not support";
label:
v[2] = v;
v[3] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("No value is configured in the registry, the %s extension[name : %s] %s as the %s center", v);
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = newarray (java.lang.Object)[3];
v[0] = v;
if v == 0 goto label;
v = "used";
goto label;
label:
v = "not used";
label:
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("The registry[%s] will be %s as the %s center", v);
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
return v;
}
private boolean supportsExtension(java.lang.Class, java.lang.String)
{
org.apache.dubbo.common.extension.ExtensionLoader v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.Class v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.Class;
v := @parameter: java.lang.String;
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: boolean hasExtension(java.lang.String)>(v);
return v;
label:
return 0;
}
public org.apache.dubbo.config.MetadataReportConfig registryAsMetadataCenter(org.apache.dubbo.config.RegistryConfig)
{
java.util.HashMap v;
java.lang.Integer v, v;
org.apache.dubbo.config.MetadataReportConfig v;
java.util.Map v, v, v, v, v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.String v, v, v, v, v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.Integer getPort()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.Integer)>(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[])>("metadata-center-\u0001-\u0001");
v = new org.apache.dubbo.config.MetadataReportConfig;
specialinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setId(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: java.util.Map getParameters()>();
if v != null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setParameters(java.util.Map)>(v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.util.Map getParameters()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.util.Map getParameters()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: java.util.Map getParameters()>();
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getClient()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("client", v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getGroup()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setGroup(java.lang.String)>(v);
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String getRegistryCompatibleAddress(org.apache.dubbo.config.RegistryConfig)>(v);
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setAddress(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getUsername()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setUsername(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getPassword()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setPassword(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.Integer getTimeout()>();
virtualinvoke v.<org.apache.dubbo.config.MetadataReportConfig: void setTimeout(java.lang.Integer)>(v);
return v;
}
private java.lang.String getRegistryCompatibleAddress(org.apache.dubbo.config.RegistryConfig)
{
java.lang.IllegalStateException v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.String[] v;
org.apache.dubbo.common.URL v;
org.apache.dubbo.config.RegistryConfig v;
java.lang.StringBuilder v, v;
java.lang.String v, v, v, v, v;
java.util.regex.Pattern v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.RegistryConfig;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getAddress()>();
v = <org.apache.dubbo.common.constants.CommonConstants: java.util.regex.Pattern REGISTRY_SPLIT_PATTERN>;
v = virtualinvoke v.<java.util.regex.Pattern: java.lang.String[] split(java.lang.CharSequence)>(v);
v = staticinvoke <org.apache.dubbo.common.utils.ArrayUtils: boolean isEmpty(java.lang.Object[])>(v);
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Invalid registry address found.");
throw v;
label:
v = v[0];
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = staticinvoke <org.apache.dubbo.common.URL: org.apache.dubbo.common.URL valueOf(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getProtocol()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.RegistryConfig: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("://");
label:
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private void loadRemoteConfigs()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Set v, v;
org.apache.dubbo.config.context.ConfigManager v, v, v, v;
java.util.ArrayList v, v;
java.util.function.Consumer v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Set getRegistryIds()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_loadRemoteConfigs_5__26: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap,java.util.List)>(v, v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addRegistries(java.lang.Iterable)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Set getProtocolIds()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_loadRemoteConfigs_8__27: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap,java.util.List)>(v, v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void addProtocols(java.lang.Iterable)>(v);
return;
}
private void initMetadataService()
{
org.apache.dubbo.metadata.WritableMetadataService v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter v;
org.apache.dubbo.metadata.MetadataService v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.metadata.WritableMetadataService: org.apache.dubbo.metadata.WritableMetadataService getDefaultExtension()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataService metadataService> = v;
v = new org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataService metadataService>;
specialinvoke v.<org.apache.dubbo.config.metadata.ConfigurableMetadataServiceExporter: void <init>(org.apache.dubbo.metadata.MetadataService)>(v);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter> = v;
return;
}
private void initEventListener()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.bootstrap.DubboBootstrap addEventListener(org.apache.dubbo.event.EventListener)>(v);
return;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap start()
{
org.apache.dubbo.common.extension.ExtensionLoader v;
java.util.concurrent.atomic.AtomicBoolean v, v, v;
java.lang.Runnable v;
java.lang.Thread v;
int v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v, v, v, v, v;
java.util.Set v;
java.util.function.Consumer v;
java.util.List v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean ready>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void initialize()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u is starting...");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void exportServices()>();
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean isOnlyRegisterProvider()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean hasExportedServices()>();
if v == 0 goto label;
label:
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void exportMetadataService()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void registerServiceInstance()>();
label:
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void referServices()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = new java.lang.Thread;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_start_10__29: java.lang.Runnable bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
specialinvoke v.<java.lang.Thread: void <init>(java.lang.Runnable)>(v);
virtualinvoke v.<java.lang.Thread: void start()>();
goto label;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean ready>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u is ready.");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrapStartStopListener;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.util.Set getSupportedExtensionInstances()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_start_11__28: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u has started.");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
label:
return v;
}
private boolean hasExportedServices()
{
java.util.SortedSet v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.metadata.MetadataService v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataService metadataService>;
v = interfaceinvoke v.<org.apache.dubbo.metadata.MetadataService: java.util.SortedSet getExportedURLs()>();
v = interfaceinvoke v.<java.util.SortedSet: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap await()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.Runnable v;
java.util.concurrent.ExecutorService v;
boolean v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean awaited>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.ExecutorService executorService>;
v = interfaceinvoke v.<java.util.concurrent.ExecutorService: boolean isShutdown()>();
if v != 0 goto label;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_await_12__30: java.lang.Runnable bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void executeMutually(java.lang.Runnable)>(v);
label:
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap awaitFinish() throws java.lang.Exception
{
java.lang.Object[] v, v;
java.util.concurrent.CompletableFuture v, v;
java.util.concurrent.CompletableFuture[] v, v;
int v, v;
java.lang.String v, v;
boolean v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v;
java.util.List v, v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u waiting services exporting / referring ...");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean exportAsync>;
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures>;
v = newarray (java.util.concurrent.CompletableFuture)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = staticinvoke <java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture allOf(java.util.concurrent.CompletableFuture[])>(v);
virtualinvoke v.<java.util.concurrent.CompletableFuture: java.lang.Object get()>();
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: boolean referAsync>;
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncReferringFutures>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncReferringFutures>;
v = newarray (java.util.concurrent.CompletableFuture)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = staticinvoke <java.util.concurrent.CompletableFuture: java.util.concurrent.CompletableFuture allOf(java.util.concurrent.CompletableFuture[])>(v);
virtualinvoke v.<java.util.concurrent.CompletableFuture: java.lang.Object get()>();
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>("Service export / refer finished.");
return v;
}
public boolean isInitialized()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean initialized>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isStarted()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isReady()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean ready>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap stop() throws java.lang.IllegalStateException
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void destroy()>();
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder createApplicationBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder: org.apache.dubbo.config.bootstrap.builders.ApplicationBuilder name(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.RegistryBuilder createRegistryBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.String v;
org.apache.dubbo.config.bootstrap.builders.RegistryBuilder v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.RegistryBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.RegistryBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.RegistryBuilder: org.apache.dubbo.config.bootstrap.builders.RegistryBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder createProtocolBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder v, v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder: org.apache.dubbo.config.bootstrap.builders.ProtocolBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ServiceBuilder createServiceBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.builders.ServiceBuilder v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ServiceBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ServiceBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ServiceBuilder: org.apache.dubbo.config.bootstrap.builders.ServiceBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder createReferenceBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder v, v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder: org.apache.dubbo.config.bootstrap.builders.ReferenceBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ProviderBuilder createProviderBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.builders.AbstractBuilder v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.bootstrap.builders.ProviderBuilder v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ProviderBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProviderBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ProviderBuilder: org.apache.dubbo.config.bootstrap.builders.AbstractBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder createConsumerBuilder(java.lang.String)
{
org.apache.dubbo.config.bootstrap.builders.AbstractBuilder v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.String v;
org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v = new org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder;
specialinvoke v.<org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder: void <init>()>();
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.builders.ConsumerBuilder: org.apache.dubbo.config.bootstrap.builders.AbstractBuilder id(java.lang.String)>(v);
return v;
}
private org.apache.dubbo.common.config.configcenter.DynamicConfiguration prepareEnvironment(org.apache.dubbo.config.ConfigCenterConfig)
{
java.lang.IllegalStateException v;
org.apache.dubbo.config.ApplicationConfig v;
org.apache.dubbo.config.ConfigCenterConfig v;
org.apache.dubbo.common.URL v;
java.util.Map v, v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v, v;
org.apache.dubbo.common.config.Environment v, v, v;
boolean v, v, v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.io.IOException v;
org.apache.dubbo.common.config.configcenter.DynamicConfiguration v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.config.ConfigCenterConfig;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: boolean isValid()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: boolean checkOrUpdateInited()>();
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: org.apache.dubbo.common.URL toUrl()>();
v = staticinvoke <org.apache.dubbo.common.config.configcenter.DynamicConfiguration: org.apache.dubbo.common.config.configcenter.DynamicConfiguration getDynamicConfiguration(org.apache.dubbo.common.URL)>(v);
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.String getConfigFile()>();
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.String getGroup()>();
v = interfaceinvoke v.<org.apache.dubbo.common.config.configcenter.DynamicConfiguration: java.lang.String getProperties(java.lang.String,java.lang.String)>(v, v);
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getName()>();
v = null;
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.String getAppConfigFile()>();
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isNotEmpty(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.String getAppConfigFile()>();
goto label;
label:
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.String getConfigFile()>();
label:
v = interfaceinvoke v.<org.apache.dubbo.common.config.configcenter.DynamicConfiguration: java.lang.String getProperties(java.lang.String,java.lang.String)>(v, v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment>;
v = virtualinvoke v.<org.apache.dubbo.config.ConfigCenterConfig: java.lang.Boolean isHighestPriority()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
virtualinvoke v.<org.apache.dubbo.common.config.Environment: void setConfigCenterFirst(boolean)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment>;
v = staticinvoke <org.apache.dubbo.common.config.ConfigurationUtils: java.util.Map parseProperties(java.lang.String)>(v);
virtualinvoke v.<org.apache.dubbo.common.config.Environment: void updateExternalConfigurationMap(java.util.Map)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.config.Environment environment>;
v = staticinvoke <org.apache.dubbo.common.config.ConfigurationUtils: java.util.Map parseProperties(java.lang.String)>(v);
virtualinvoke v.<org.apache.dubbo.common.config.Environment: void updateAppExternalConfigurationMap(java.util.Map)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String,java.lang.Throwable)>("Failed to parse configurations from Config Center.", v);
throw v;
label:
return v;
label:
return null;
catch java.io.IOException from label to label with label;
}
public org.apache.dubbo.config.bootstrap.DubboBootstrap addEventListener(org.apache.dubbo.event.EventListener)
{
org.apache.dubbo.event.EventListener v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.event.EventDispatcher v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.event.EventListener;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.event.EventDispatcher eventDispatcher>;
interfaceinvoke v.<org.apache.dubbo.event.EventDispatcher: void addEventListener(org.apache.dubbo.event.EventListener)>(v);
return v;
}
private void exportMetadataService()
{
org.apache.dubbo.metadata.MetadataServiceExporter v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter>;
interfaceinvoke v.<org.apache.dubbo.metadata.MetadataServiceExporter: org.apache.dubbo.metadata.MetadataServiceExporter export()>();
return;
}
private void unexportMetadataService()
{
org.apache.dubbo.metadata.MetadataServiceExporter v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter>;
if v == null goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter>;
v = interfaceinvoke v.<org.apache.dubbo.metadata.MetadataServiceExporter: boolean isExported()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataServiceExporter metadataServiceExporter>;
interfaceinvoke v.<org.apache.dubbo.metadata.MetadataServiceExporter: org.apache.dubbo.metadata.MetadataServiceExporter unexport()>();
label:
return;
}
private void exportServices()
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Collection v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getServices()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_exportServices_14__31: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.Collection: void forEach(java.util.function.Consumer)>(v);
return;
}
private void unexportServices()
{
java.util.function.Consumer v, v;
java.util.List v, v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List exportedServices>;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_unexportServices_15__32: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures>;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_unexportServices_16__33: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncExportingFutures>;
interfaceinvoke v.<java.util.List: void clear()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List exportedServices>;
interfaceinvoke v.<java.util.List: void clear()>();
return;
}
private void referServices()
{
java.util.function.Consumer v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Collection v;
org.apache.dubbo.config.utils.ReferenceConfigCache v, v;
org.apache.dubbo.config.context.ConfigManager v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache>;
if v != null goto label;
v = staticinvoke <org.apache.dubbo.config.utils.ReferenceConfigCache: org.apache.dubbo.config.utils.ReferenceConfigCache getCache()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache> = v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Collection getReferences()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_referServices_18__34: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.Collection: void forEach(java.util.function.Consumer)>(v);
return;
}
private void unreferServices()
{
java.util.function.Consumer v;
java.util.List v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.utils.ReferenceConfigCache v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache>;
if v != null goto label;
v = staticinvoke <org.apache.dubbo.config.utils.ReferenceConfigCache: org.apache.dubbo.config.utils.ReferenceConfigCache getCache()>();
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache> = v;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncReferringFutures>;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_unreferServices_19__35: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.List asyncReferringFutures>;
interfaceinvoke v.<java.util.List: void clear()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.utils.ReferenceConfigCache cache>;
virtualinvoke v.<org.apache.dubbo.config.utils.ReferenceConfigCache: void destroyAll()>();
return;
}
private void registerServiceInstance()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.config.ApplicationConfig v;
org.apache.dubbo.common.threadpool.manager.ExecutorRepository v;
org.apache.dubbo.registry.client.ServiceInstance v;
java.lang.Runnable v;
java.util.concurrent.TimeUnit v;
java.util.List v;
org.apache.dubbo.common.URL v;
int v, v;
java.util.concurrent.ScheduledExecutorService v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.registry.support.AbstractRegistryFactory: java.util.List getServiceDiscoveries()>();
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.ApplicationConfig getApplication()>();
v = virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: java.lang.String getName()>();
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.URL selectMetadataServiceExportedURL()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getHost()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: int getPort()>();
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.registry.client.ServiceInstance createServiceInstance(java.lang.String,java.lang.String,int)>(v, v, v);
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void doRegisterServiceInstance(org.apache.dubbo.registry.client.ServiceInstance)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.threadpool.manager.ExecutorRepository executorRepository>;
v = interfaceinvoke v.<org.apache.dubbo.common.threadpool.manager.ExecutorRepository: java.util.concurrent.ScheduledExecutorService nextScheduledExecutor()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_registerServiceInstance_20__36: java.lang.Runnable bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = staticinvoke <org.apache.dubbo.common.config.ConfigurationUtils: int get(java.lang.String,int)>("dubbo.application.metadata.delay", 5000);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
interfaceinvoke v.<java.util.concurrent.ScheduledExecutorService: java.util.concurrent.ScheduledFuture scheduleAtFixedRate(java.lang.Runnable,long,long,java.util.concurrent.TimeUnit)>(v, 0L, v, v);
return;
}
private void doRegisterServiceInstance(org.apache.dubbo.registry.client.ServiceInstance)
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v, v;
org.apache.dubbo.registry.client.ServiceInstance v;
java.util.function.Consumer v;
java.util.List v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>("Start publishing metadata to remote center, this only makes sense for applications enabled remote metadata center.");
label:
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void publishMetadataToRemote(org.apache.dubbo.registry.client.ServiceInstance)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void info(java.lang.String)>("Start registering instance address to registry.");
v = staticinvoke <org.apache.dubbo.registry.support.AbstractRegistryFactory: java.util.List getServiceDiscoveries()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_doRegisterServiceInstance_21__37: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap,org.apache.dubbo.registry.client.ServiceInstance)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return;
}
private void publishMetadataToRemote(org.apache.dubbo.registry.client.ServiceInstance)
{
org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.registry.client.ServiceInstance v;
java.lang.String v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: org.apache.dubbo.registry.client.ServiceInstance;
v = staticinvoke <org.apache.dubbo.registry.client.metadata.MetadataUtils: org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl getRemoteMetadataService()>();
v = interfaceinvoke v.<org.apache.dubbo.registry.client.ServiceInstance: java.lang.String getServiceName()>();
virtualinvoke v.<org.apache.dubbo.registry.client.metadata.store.RemoteMetadataServiceImpl: void publishMetadata(java.lang.String)>(v);
return;
}
private org.apache.dubbo.common.URL selectMetadataServiceExportedURL()
{
java.util.SortedSet v;
org.apache.dubbo.common.URL v, v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
java.util.Iterator v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.metadata.MetadataService v;
java.lang.Class v;
java.lang.Object v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = null;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.metadata.MetadataService metadataService>;
v = interfaceinvoke v.<org.apache.dubbo.metadata.MetadataService: java.util.SortedSet getExportedURLs()>();
v = interfaceinvoke v.<java.util.SortedSet: 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 = staticinvoke <org.apache.dubbo.common.URL: org.apache.dubbo.common.URL valueOf(java.lang.String)>(v);
v = class "Lorg/apache/dubbo/metadata/MetadataService;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getServiceInterface()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "rest";
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
goto label;
label:
v = v;
goto label;
label:
if v != null goto label;
v = staticinvoke <org.apache.dubbo.common.utils.CollectionUtils: boolean isNotEmpty(java.util.Collection)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.SortedSet: java.util.Iterator iterator()>();
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.dubbo.common.URL: org.apache.dubbo.common.URL valueOf(java.lang.String)>(v);
label:
return v;
}
private void unregisterServiceInstance()
{
java.util.function.Consumer v;
java.util.List v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.registry.client.ServiceInstance v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
if v == null goto label;
v = staticinvoke <org.apache.dubbo.registry.support.AbstractRegistryFactory: java.util.List getServiceDiscoveries()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_unregisterServiceInstance_22__38: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
label:
return;
}
private org.apache.dubbo.registry.client.ServiceInstance createServiceInstance(java.lang.String, java.lang.String, int)
{
org.apache.dubbo.common.extension.ExtensionLoader v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Set v;
org.apache.dubbo.registry.client.ServiceInstance v, v;
java.lang.Integer v;
java.util.function.Consumer v;
int v;
java.lang.String v, v, v;
org.apache.dubbo.registry.client.DefaultServiceInstance v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: int;
v = new org.apache.dubbo.registry.client.DefaultServiceInstance;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
specialinvoke v.<org.apache.dubbo.registry.client.DefaultServiceInstance: void <init>(java.lang.String,java.lang.String,java.lang.Integer)>(v, v, v);
v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.registry.client.ServiceInstance serviceInstance> = v;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
v = specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String getMetadataType()>();
staticinvoke <org.apache.dubbo.registry.client.metadata.ServiceInstanceMetadataUtils: void setMetadataStorageType(org.apache.dubbo.registry.client.ServiceInstance,java.lang.String)>(v, v);
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/registry/client/ServiceInstanceCustomizer;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.util.Set getSupportedExtensionInstances()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_createServiceInstance_23__39: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.registry.client.ServiceInstance serviceInstance>;
return v;
}
public void destroy()
{
java.lang.Throwable v;
org.apache.dubbo.common.extension.ExtensionLoader v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Set v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.function.Consumer v;
java.util.concurrent.locks.Lock v, v, v;
boolean v, v, v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock destroyLock>;
v = interfaceinvoke v.<java.util.concurrent.locks.Lock: boolean tryLock()>();
if v == 0 goto label;
label:
staticinvoke <org.apache.dubbo.config.DubboShutdownHook: void destroyAll()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(1, 0);
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean destroyed>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void unregisterServiceInstance()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void unexportMetadataService()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void unexportServices()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void unreferServices()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void destroyRegistries()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void destroyServiceDiscoveries()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void destroyExecutorRepository()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void clear()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void shutdown()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void release()>();
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrapStartStopListener;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.util.Set getSupportedExtensionInstances()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_destroy_24__40: java.util.function.Consumer bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
interfaceinvoke v.<java.util.Set: void forEach(java.util.function.Consumer)>(v);
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock destroyLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock destroyLock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
private void destroyExecutorRepository()
{
java.lang.Object v;
org.apache.dubbo.common.extension.ExtensionLoader v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.common.extension.ExtensionLoader: org.apache.dubbo.common.extension.ExtensionLoader getExtensionLoader(java.lang.Class)>(class "Lorg/apache/dubbo/common/threadpool/manager/ExecutorRepository;");
v = virtualinvoke v.<org.apache.dubbo.common.extension.ExtensionLoader: java.lang.Object getDefaultExtension()>();
interfaceinvoke v.<org.apache.dubbo.common.threadpool.manager.ExecutorRepository: void destroyAll()>();
return;
}
private void destroyRegistries()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
staticinvoke <org.apache.dubbo.registry.support.AbstractRegistryFactory: void destroyAll()>();
return;
}
private void destroyServiceDiscoveries()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v;
java.util.function.Consumer v;
java.util.List v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.registry.support.AbstractRegistryFactory: java.util.List getServiceDiscoveries()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_destroyServiceDiscoveries_25__41: java.util.function.Consumer bootstrap$()>();
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u0001\'s all ServiceDiscoveries have been destroyed.");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void debug(java.lang.String)>(v);
label:
return;
}
private void clear()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void clearConfigs()>();
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void clearApplicationModel()>();
return;
}
private void clearApplicationModel()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
return;
}
private void clearConfigs()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
org.apache.dubbo.common.logger.Logger v, v;
java.lang.String v, v;
org.apache.dubbo.config.context.ConfigManager v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: void destroy()>();
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.common.logger.Logger logger>;
v = <org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME>;
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[])>("\u0001\'s configs have been clear.");
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void debug(java.lang.String)>(v);
label:
return;
}
private void release()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.Runnable v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_release_26__42: java.lang.Runnable bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
specialinvoke v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: void executeMutually(java.lang.Runnable)>(v);
return;
}
private void shutdown()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.concurrent.ExecutorService v, v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.ExecutorService executorService>;
v = interfaceinvoke v.<java.util.concurrent.ExecutorService: boolean isShutdown()>();
if v != 0 goto label;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.ExecutorService executorService>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: void shutdown()>();
label:
return;
}
private void executeMutually(java.lang.Runnable)
{
java.lang.Throwable v;
java.util.concurrent.locks.Lock v, v, v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.lang.Runnable v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: java.lang.Runnable;
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.dubbo.config.ApplicationConfig getApplication()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Optional v;
java.lang.Object v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.function.Supplier v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getApplication()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_getApplication_27__43: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
virtualinvoke v.<org.apache.dubbo.config.ApplicationConfig: void refresh()>();
return v;
}
private org.apache.dubbo.config.MonitorConfig getMonitor()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Optional v;
java.lang.Object v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.function.Supplier v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getMonitor()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_getMonitor_28__44: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
virtualinvoke v.<org.apache.dubbo.config.MonitorConfig: void refresh()>();
return v;
}
private org.apache.dubbo.config.MetricsConfig getMetrics()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Optional v;
java.lang.Object v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.function.Supplier v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getMetrics()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_getMetrics_29__45: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
virtualinvoke v.<org.apache.dubbo.config.MetricsConfig: void refresh()>();
return v;
}
private org.apache.dubbo.config.ModuleConfig getModule()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Optional v;
java.lang.Object v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.function.Supplier v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getModule()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_getModule_30__46: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
virtualinvoke v.<org.apache.dubbo.config.ModuleConfig: void refresh()>();
return v;
}
private org.apache.dubbo.config.SslConfig getSsl()
{
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
java.util.Optional v;
java.lang.Object v;
org.apache.dubbo.config.context.ConfigManager v;
java.util.function.Supplier v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: org.apache.dubbo.config.context.ConfigManager configManager>;
v = virtualinvoke v.<org.apache.dubbo.config.context.ConfigManager: java.util.Optional getSsl()>();
v = staticinvoke <org.apache.dubbo.config.bootstrap.DubboBootstrap$lambda_getSsl_31__47: java.util.function.Supplier bootstrap$(org.apache.dubbo.config.bootstrap.DubboBootstrap)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseGet(java.util.function.Supplier)>(v);
virtualinvoke v.<org.apache.dubbo.config.SslConfig: void refresh()>();
return v;
}
public void setReady(boolean)
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.dubbo.config.bootstrap.DubboBootstrap v;
boolean v;
v := @this: org.apache.dubbo.config.bootstrap.DubboBootstrap;
v := @parameter: boolean;
v = v.<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.util.concurrent.atomic.AtomicBoolean ready>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(v);
return;
}
static void <clinit>()
{
java.lang.Class v;
java.lang.String v;
v = class "Lorg/apache/dubbo/config/bootstrap/DubboBootstrap;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
<org.apache.dubbo.config.bootstrap.DubboBootstrap: java.lang.String NAME> = v;
return;
}
}