public abstract class org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration extends java.lang.Object implements org.apache.dubbo.common.config.configcenter.DynamicConfiguration
{
public static final java.lang.String PARAM_NAME_PREFIX;
public static final java.lang.String THREAD_POOL_PREFIX_PARAM_NAME;
public static final java.lang.String DEFAULT_THREAD_POOL_PREFIX;
public static final java.lang.String THREAD_POOL_SIZE_PARAM_NAME;
public static final java.lang.String THREAD_POOL_KEEP_ALIVE_TIME_PARAM_NAME;
public static final java.lang.String GROUP_PARAM_NAME;
public static final java.lang.String TIMEOUT_PARAM_NAME;
public static final int DEFAULT_THREAD_POOL_SIZE;
public static final long DEFAULT_THREAD_POOL_KEEP_ALIVE_TIME;
protected final org.apache.dubbo.common.logger.Logger logger;
private final java.util.concurrent.ThreadPoolExecutor workersThreadPool;
private final java.lang.String group;
private final long timeout;
public void <init>(org.apache.dubbo.common.URL)
{
org.apache.dubbo.common.URL v;
int v;
long v, v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getThreadPoolPrefixName(org.apache.dubbo.common.URL)>(v);
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: int getThreadPoolSize(org.apache.dubbo.common.URL)>(v);
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long getThreadPoolKeepAliveTime(org.apache.dubbo.common.URL)>(v);
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getGroup(org.apache.dubbo.common.URL)>(v);
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long getTimeout(org.apache.dubbo.common.URL)>(v);
specialinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: void <init>(java.lang.String,int,long,java.lang.String,long)>(v, v, v, v, v);
return;
}
public void <init>(java.lang.String, int, long, java.lang.String, long)
{
java.util.concurrent.ThreadPoolExecutor v;
org.apache.dubbo.common.logger.Logger v;
long v, v;
int v;
java.lang.Class v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: long;
v := @parameter: java.lang.String;
v := @parameter: long;
specialinvoke v.<java.lang.Object: 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.common.config.configcenter.AbstractDynamicConfiguration: org.apache.dubbo.common.logger.Logger logger> = v;
v = virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor initWorkersThreadPool(java.lang.String,int,long)>(v, v, v);
v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor workersThreadPool> = v;
v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String group> = v;
v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long timeout> = v;
return;
}
public void addListener(java.lang.String, java.lang.String, org.apache.dubbo.common.config.configcenter.ConfigurationListener)
{
org.apache.dubbo.common.config.configcenter.ConfigurationListener v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.dubbo.common.config.configcenter.ConfigurationListener;
return;
}
public void removeListener(java.lang.String, java.lang.String, org.apache.dubbo.common.config.configcenter.ConfigurationListener)
{
org.apache.dubbo.common.config.configcenter.ConfigurationListener v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: org.apache.dubbo.common.config.configcenter.ConfigurationListener;
return;
}
public final java.lang.String getConfig(java.lang.String, java.lang.String, long) throws java.lang.IllegalStateException
{
java.lang.Object v;
java.util.concurrent.Callable v;
long v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: long;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration$lambda_getConfig_0__151: java.util.concurrent.Callable bootstrap$(org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration,java.lang.String,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.Object execute(java.util.concurrent.Callable,long)>(v, v);
return v;
}
public java.lang.Object getInternalProperty(java.lang.String)
{
java.lang.String v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
return null;
}
public final void close() throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
label:
virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: void doClose()>();
label:
specialinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: void doFinally()>();
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: void doFinally()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public boolean removeConfig(java.lang.String, java.lang.String)
{
java.lang.Boolean v;
java.lang.Object v;
java.util.concurrent.Callable v;
java.lang.String v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
boolean v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <java.lang.Boolean: java.lang.Boolean TRUE>;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration$lambda_removeConfig_1__152: java.util.concurrent.Callable bootstrap$(org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration,java.lang.String,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.Object execute(java.util.concurrent.Callable,long)>(v, -1L);
v = virtualinvoke v.<java.lang.Boolean: boolean equals(java.lang.Object)>(v);
return v;
}
public java.lang.String getDefaultGroup()
{
java.lang.String v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getGroup()>();
return v;
}
public long getDefaultTimeout()
{
long v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long getTimeout()>();
return v;
}
protected abstract java.lang.String doGetConfig(java.lang.String, java.lang.String) throws java.lang.Exception;
protected abstract void doClose() throws java.lang.Exception;
protected abstract boolean doRemoveConfig(java.lang.String, java.lang.String) throws java.lang.Exception;
protected final void execute(java.lang.Runnable, long)
{
java.util.concurrent.Callable v;
long v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
java.lang.Runnable v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.Runnable;
v := @parameter: long;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration$lambda_execute_2__153: java.util.concurrent.Callable bootstrap$(java.lang.Runnable)>(v);
virtualinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.Object execute(java.util.concurrent.Callable,long)>(v, v);
return;
}
protected final java.lang.Object execute(java.util.concurrent.Callable, long)
{
java.util.concurrent.ThreadPoolExecutor v;
org.apache.dubbo.common.logger.Logger v, v;
java.util.concurrent.Callable v;
long v;
java.lang.Exception v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.Future v;
byte v;
java.lang.Object v;
java.lang.String v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
boolean v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.util.concurrent.Callable;
v := @parameter: long;
v = null;
label:
v = v cmp 1L;
if v >= 0 goto label;
v = interfaceinvoke v.<java.util.concurrent.Callable: java.lang.Object call()>();
goto label;
label:
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor workersThreadPool>;
v = virtualinvoke v.<java.util.concurrent.ThreadPoolExecutor: java.util.concurrent.Future submit(java.util.concurrent.Callable)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<java.util.concurrent.Future: java.lang.Object get(long,java.util.concurrent.TimeUnit)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: org.apache.dubbo.common.logger.Logger logger>;
v = interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: boolean isErrorEnabled()>();
if v == 0 goto label;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: org.apache.dubbo.common.logger.Logger logger>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
interfaceinvoke v.<org.apache.dubbo.common.logger.Logger: void error(java.lang.String,java.lang.Throwable)>(v, v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
protected java.util.concurrent.ThreadPoolExecutor getWorkersThreadPool()
{
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
java.util.concurrent.ThreadPoolExecutor v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor workersThreadPool>;
return v;
}
private void doFinally()
{
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
specialinvoke v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: void shutdownWorkersThreadPool()>();
return;
}
private void shutdownWorkersThreadPool()
{
java.util.concurrent.ThreadPoolExecutor v, v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
boolean v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor workersThreadPool>;
v = virtualinvoke v.<java.util.concurrent.ThreadPoolExecutor: boolean isShutdown()>();
if v != 0 goto label;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.util.concurrent.ThreadPoolExecutor workersThreadPool>;
virtualinvoke v.<java.util.concurrent.ThreadPoolExecutor: void shutdown()>();
label:
return;
}
protected java.util.concurrent.ThreadPoolExecutor initWorkersThreadPool(java.lang.String, int, long)
{
java.util.concurrent.ThreadPoolExecutor v;
long v;
java.util.concurrent.LinkedBlockingQueue v;
org.apache.dubbo.common.utils.NamedThreadFactory v;
java.util.concurrent.TimeUnit v;
int v;
java.lang.String v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: long;
v = new java.util.concurrent.ThreadPoolExecutor;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = new java.util.concurrent.LinkedBlockingQueue;
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>()>();
v = new org.apache.dubbo.common.utils.NamedThreadFactory;
specialinvoke v.<org.apache.dubbo.common.utils.NamedThreadFactory: void <init>(java.lang.String,boolean)>(v, 1);
specialinvoke v.<java.util.concurrent.ThreadPoolExecutor: void <init>(int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)>(v, v, v, v, v, v);
return v;
}
protected static java.lang.String getThreadPoolPrefixName(org.apache.dubbo.common.URL)
{
org.apache.dubbo.common.URL v;
java.lang.String v;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getParameter(org.apache.dubbo.common.URL,java.lang.String,java.lang.String)>(v, "dubbo.config-center.thread-pool.prefix", "dubbo.config-center.workers");
return v;
}
protected static int getThreadPoolSize(org.apache.dubbo.common.URL)
{
int v;
org.apache.dubbo.common.URL v;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: int getParameter(org.apache.dubbo.common.URL,java.lang.String,int)>(v, "dubbo.config-center.thread-pool.size", 1);
return v;
}
protected static long getThreadPoolKeepAliveTime(org.apache.dubbo.common.URL)
{
long v, v;
org.apache.dubbo.common.URL v;
v := @parameter: org.apache.dubbo.common.URL;
v = <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long DEFAULT_THREAD_POOL_KEEP_ALIVE_TIME>;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long getParameter(org.apache.dubbo.common.URL,java.lang.String,long)>(v, "dubbo.config-center.thread-pool.keep-alive-time", v);
return v;
}
protected static java.lang.String getParameter(org.apache.dubbo.common.URL, java.lang.String, java.lang.String)
{
org.apache.dubbo.common.URL v;
java.lang.String v, v, v;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.common.URL: java.lang.String getParameter(java.lang.String,java.lang.String)>(v, v);
return v;
label:
return v;
}
protected static int getParameter(org.apache.dubbo.common.URL, java.lang.String, int)
{
org.apache.dubbo.common.URL v;
int v, v;
java.lang.String v;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: java.lang.String;
v := @parameter: int;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.common.URL: int getParameter(java.lang.String,int)>(v, v);
return v;
label:
return v;
}
protected static long getParameter(org.apache.dubbo.common.URL, java.lang.String, long)
{
org.apache.dubbo.common.URL v;
long v, v;
java.lang.String v;
v := @parameter: org.apache.dubbo.common.URL;
v := @parameter: java.lang.String;
v := @parameter: long;
if v == null goto label;
v = virtualinvoke v.<org.apache.dubbo.common.URL: long getParameter(java.lang.String,long)>(v, v);
return v;
label:
return v;
}
protected java.lang.String getGroup()
{
java.lang.String v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String group>;
return v;
}
protected long getTimeout()
{
long v;
org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration v;
v := @this: org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration;
v = v.<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long timeout>;
return v;
}
protected static java.lang.String getGroup(org.apache.dubbo.common.URL)
{
org.apache.dubbo.common.URL v;
java.lang.String v, v;
boolean v;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getParameter(org.apache.dubbo.common.URL,java.lang.String,java.lang.String)>(v, "dubbo.config-center.group", null);
v = staticinvoke <org.apache.dubbo.common.utils.StringUtils: boolean isBlank(java.lang.CharSequence)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: java.lang.String getParameter(org.apache.dubbo.common.URL,java.lang.String,java.lang.String)>(v, "group", "dubbo");
goto label;
label:
v = v;
label:
return v;
}
protected static long getTimeout(org.apache.dubbo.common.URL)
{
long v;
org.apache.dubbo.common.URL v;
v := @parameter: org.apache.dubbo.common.URL;
v = staticinvoke <org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long getParameter(org.apache.dubbo.common.URL,java.lang.String,long)>(v, "dubbo.config-center.timeout", -1L);
return v;
}
static void <clinit>()
{
java.util.concurrent.TimeUnit v;
long v;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MINUTES>;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(1L);
<org.apache.dubbo.common.config.configcenter.AbstractDynamicConfiguration: long DEFAULT_THREAD_POOL_KEEP_ALIVE_TIME> = v;
return;
}
}