public class org.springframework.scheduling.config.TaskExecutorFactoryBean extends java.lang.Object implements org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
{
private java.lang.String poolSize;
private java.lang.Integer queueCapacity;
private java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler;
private java.lang.Integer keepAliveSeconds;
private java.lang.String beanName;
private org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target;
public void <init>()
{
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public void setPoolSize(java.lang.String)
{
java.lang.String v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v := @parameter: java.lang.String;
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize> = v;
return;
}
public void setQueueCapacity(int)
{
int v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
java.lang.Integer v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v := @parameter: int;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer queueCapacity> = v;
return;
}
public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler)
{
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
java.util.concurrent.RejectedExecutionHandler v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v := @parameter: java.util.concurrent.RejectedExecutionHandler;
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler> = v;
return;
}
public void setKeepAliveSeconds(int)
{
int v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
java.lang.Integer v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v := @parameter: int;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer keepAliveSeconds> = v;
return;
}
public void setBeanName(java.lang.String)
{
java.lang.String v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v := @parameter: java.lang.String;
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String beanName> = v;
return;
}
public void afterPropertiesSet()
{
java.lang.Integer v, v, v, v;
java.util.concurrent.RejectedExecutionHandler v, v;
int v, v;
java.lang.String v, v, v;
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor v, v, v, v, v, v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
specialinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void <init>()>();
v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target> = v;
specialinvoke v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: void determinePoolSizeRange()>();
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer queueCapacity>;
if v == null goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer queueCapacity>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setQueueCapacity(int)>(v);
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer keepAliveSeconds>;
if v == null goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer keepAliveSeconds>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setKeepAliveSeconds(int)>(v);
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler>;
if v == null goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler)>(v);
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String beanName>;
if v == null goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String beanName>;
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-");
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setThreadNamePrefix(java.lang.String)>(v);
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void afterPropertiesSet()>();
return;
}
private void determinePoolSizeRange()
{
java.lang.Integer v, v;
int v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v;
boolean v;
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor v, v, v;
java.lang.NumberFormatException v;
java.lang.IllegalArgumentException v, v, v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
v = staticinvoke <org.springframework.util.StringUtils: boolean hasText(java.lang.String)>(v);
if v == 0 goto label;
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(45);
v = (int) -1;
if v == v goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v <= v goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Lower bound of pool-size range must not exceed the upper bound");
throw v;
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.Integer queueCapacity>;
if v != null goto label;
if v != 0 goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setAllowCoreThreadTimeOut(boolean)>(1);
v = v;
goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("A non-zero lower bound for the size range requires a queue-capacity value");
throw v;
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
label:
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setCorePoolSize(int)>(v);
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void setMaxPoolSize(int)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: java.lang.String poolSize>;
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[])>("Invalid pool-size value [\u]: only single maximum integer (e.g. \"5\") and minimum-maximum range (e.g. \"3-5\") are supported");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch java.lang.NumberFormatException from label to label with label;
}
public org.springframework.core.task.TaskExecutor getObject()
{
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
return v;
}
public java.lang.Class getObjectType()
{
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor v, v;
java.lang.Class v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
if v == null goto label;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
goto label;
label:
v = class "Lorg/springframework/scheduling/concurrent/ThreadPoolTaskExecutor;";
label:
return v;
}
public boolean isSingleton()
{
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
return 1;
}
public void destroy()
{
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor v;
org.springframework.scheduling.config.TaskExecutorFactoryBean v;
v := @this: org.springframework.scheduling.config.TaskExecutorFactoryBean;
v = v.<org.springframework.scheduling.config.TaskExecutorFactoryBean: org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor target>;
virtualinvoke v.<org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor: void destroy()>();
return;
}
}