public class org.glassfish.deployment.autodeploy.AutodeployRetryManager extends java.lang.Object implements org.glassfish.hk.api.PostConstruct
{
private static final int RETRY_LIMIT_DEFAULT;
private java.util.HashMap invalidFiles;
private static final com.sun.enterprise.util.LocalStringManagerImpl localStrings;
private com.sun.enterprise.config.serverbeans.DasConfig activeDasConfig;
private int timeout;
public static final java.util.logging.Logger deplLogger;
private static final java.lang.String LARGE_TIMEOUT;
private static final java.lang.String SMALL_TIMEOUT;
private static final java.lang.String INVALID_TIMEOUT;
public void <init>()
{
java.util.HashMap v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles> = v;
return;
}
public void postConstruct()
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: void setTimeout()>();
return;
}
org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info get(java.io.File)
{
java.lang.Object v;
java.util.HashMap v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
return v;
}
boolean shouldAttemptDeployment(java.io.File)
{
java.lang.Object[] v, v, v;
java.util.HashMap v;
long v;
java.util.logging.Level v, v;
com.sun.enterprise.util.LocalStringManagerImpl v, v, v;
java.lang.String v, v, v, v, v;
boolean v, v;
java.util.logging.Logger v, v;
java.io.File v;
java.lang.Object v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = 1;
v = null;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: boolean shouldOpen()>();
if v == 0 goto label;
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.try_stable_length", "file {0} has stable length so it should open as a JAR", v);
goto label;
label:
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = virtualinvoke v.<java.io.File: long length()>();
v = staticinvoke <java.lang.String: java.lang.String valueOf(long)>(v);
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.no_try_unstable_length", "file {0} has an unstable length of {1}; do not retry yet", v);
label:
virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: boolean update()>();
goto label;
label:
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.try_not_monitored", "file {0} should be opened as an archive because it is not being monitored as a slowly-growing file", v);
label:
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
return v;
}
org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus chooseAutodeploymentStatus(org.glassfish.api.ActionReport$ExitCode, java.io.File)
{
org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus v, v;
java.util.HashMap v;
java.io.File v;
java.lang.Object v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
org.glassfish.api.ActionReport$ExitCode v, v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: org.glassfish.api.ActionReport$ExitCode;
v := @parameter: java.io.File;
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
if v == v goto label;
v = staticinvoke <org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus: org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus forExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return v;
label:
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = <org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus: org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus FAILURE>;
goto label;
label:
v = <org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus: org.glassfish.deployment.autodeploy.AutoDeployer$AutodeploymentStatus PENDING>;
label:
return v;
}
boolean recordFailedDeployment(java.io.File) throws org.glassfish.deployment.autodeploy.AutoDeploymentException
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: boolean recordFailedOpen(java.io.File)>(v);
return v;
}
boolean recordSuccessfulDeployment(java.io.File)
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: boolean recordSuccessfulOpen(java.io.File)>(v);
return v;
}
boolean recordSuccessfulUndeployment(java.io.File)
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: boolean endMonitoring(java.io.File)>(v);
return v;
}
boolean recordFailedUndeployment(java.io.File)
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: boolean endMonitoring(java.io.File)>(v);
return v;
}
boolean endMonitoring(java.io.File)
{
java.lang.Object v;
java.util.HashMap v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean recordFailedOpen(java.io.File) throws org.glassfish.deployment.autodeploy.AutoDeploymentException
{
java.util.Date v, v;
java.lang.Integer v;
boolean v, v, v, v, v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info v, v;
java.util.logging.Logger v, v, v, v, v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.lang.Object[] v, v, v;
org.glassfish.deployment.autodeploy.AutoDeploymentException v;
java.util.HashMap v, v;
long v, v;
java.util.logging.Level v, v, v, v, v;
com.sun.enterprise.util.LocalStringManagerImpl v, v, v;
int v;
java.lang.String v, v, v, v, v, v, v, v;
java.io.File v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info get(java.io.File)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
v = specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info createInfo(java.io.File)>(v);
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = new java.util.Date;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: long retryExpiration>;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.begin_monitoring", "will monitor {0} waiting for its size to be stable size until {1}", v);
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
goto label;
label:
virtualinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: boolean update()>();
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
v = specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: boolean hasRetryPeriodExpired()>();
if v != 0 goto label;
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = new java.util.Date;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info: long retryExpiration>;
specialinvoke v.<java.util.Date: void <init>(long)>(v);
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.continue_monitoring", "file {0} remains eligible for monitoring until {1}", v);
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
goto label;
label:
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.abort_monitoring", "File {0} is no longer eligible for retry; its size has been stable for {1} second{1,choice,0#s|1#|1<s} but it is still unrecognized as an archive", v);
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
virtualinvoke v.<java.util.HashMap: java.lang.Object remove(java.lang.Object)>(v);
v = new org.glassfish.deployment.autodeploy.AutoDeploymentException;
specialinvoke v.<org.glassfish.deployment.autodeploy.AutoDeploymentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
private boolean recordSuccessfulOpen(java.io.File)
{
java.lang.Object[] v;
java.util.HashMap v;
java.util.logging.Logger v, v;
java.io.File v;
java.util.logging.Level v, v;
com.sun.enterprise.util.LocalStringManagerImpl v;
java.lang.Object v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.lang.String v, v;
boolean v, v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = virtualinvoke v.<java.util.logging.Logger: boolean isLoggable(java.util.logging.Level)>(v);
if v == 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("enterprise.deployment.autodeploy.end_monitoring", "File {0} opened successfully; no need to monitor it further", v);
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, v);
label:
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.HashMap invalidFiles>;
v = virtualinvoke v.<java.util.HashMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void setTimeout()
{
java.lang.Object[] v, v;
java.lang.Integer v, v, v, v;
java.util.logging.Level v, v, v;
com.sun.enterprise.config.serverbeans.DasConfig v;
int v, v, v, v;
java.lang.String v;
boolean v;
java.lang.NumberFormatException v;
java.util.logging.Logger v, v, v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout>;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.config.serverbeans.DasConfig activeDasConfig>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.DasConfig: java.lang.String getAutodeployRetryTimeout()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("");
if v == 0 goto label;
label:
v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout> = 4;
return;
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v <= 1000 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object)>(v, "NCLS-DEPLOYMENT-02031", v);
v = v;
goto label;
label:
if v > 0 goto label;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "NCLS-DEPLOYMENT-02032", v);
goto label;
label:
v = v;
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger>;
v = <java.util.logging.Level: java.util.logging.Level WARNING>;
v = newarray (java.lang.Object)[2];
v[0] = v;
v = v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Object[])>(v, "NCLS-DEPLOYMENT-02033", v);
label:
v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager: int timeout> = v;
return;
catch java.lang.NumberFormatException from label to label with label;
}
private org.glassfish.deployment.autodeploy.AutodeployRetryManager$Info createInfo(java.io.File)
{
org.glassfish.deployment.autodeploy.AutodeployRetryManager$DirectoryInfo v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager$JarInfo v;
org.glassfish.deployment.autodeploy.AutodeployRetryManager v;
java.io.File v;
boolean v;
v := @this: org.glassfish.deployment.autodeploy.AutodeployRetryManager;
v := @parameter: java.io.File;
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v == 0 goto label;
v = new org.glassfish.deployment.autodeploy.AutodeployRetryManager$DirectoryInfo;
specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$DirectoryInfo: void <init>(org.glassfish.deployment.autodeploy.AutodeployRetryManager,java.io.File)>(v, v);
return v;
label:
v = new org.glassfish.deployment.autodeploy.AutodeployRetryManager$JarInfo;
specialinvoke v.<org.glassfish.deployment.autodeploy.AutodeployRetryManager$JarInfo: void <init>(org.glassfish.deployment.autodeploy.AutodeployRetryManager,java.io.File)>(v, v);
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
com.sun.enterprise.util.LocalStringManagerImpl v;
v = new com.sun.enterprise.util.LocalStringManagerImpl;
specialinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: void <init>(java.lang.Class)>(class "Lorg/glassfish/deployment/autodeploy/AutodeployRetryManager;");
<org.glassfish.deployment.autodeploy.AutodeployRetryManager: com.sun.enterprise.util.LocalStringManagerImpl localStrings> = v;
v = <org.glassfish.deployment.autodeploy.AutoDeployer: java.util.logging.Logger deplLogger>;
<org.glassfish.deployment.autodeploy.AutodeployRetryManager: java.util.logging.Logger deplLogger> = v;
return;
}
}