public class org.glassfish.jms.admin.cli.FlushJMSDestination extends org.glassfish.jms.admin.cli.JMSDestination implements org.glassfish.api.admin.AdminCommand
{
private static final java.util.logging.Logger logger;
private static final com.sun.enterprise.util.LocalStringManagerImpl localStrings;
private static final java.lang.String DESTINATION_CONFIG_DOMAIN_TYPE;
java.lang.String destType;
java.lang.String destName;
java.lang.String target;
com.sun.appserv.connectors.internal.api.ConnectorRuntime connectorRuntime;
com.sun.enterprise.config.serverbeans.Domain domain;
com.sun.enterprise.config.serverbeans.Config config;
org.glassfish.internal.api.ServerContext serverContext;
public void <init>()
{
org.glassfish.jms.admin.cli.FlushJMSDestination v;
v := @this: org.glassfish.jms.admin.cli.FlushJMSDestination;
specialinvoke v.<org.glassfish.jms.admin.cli.JMSDestination: void <init>()>();
v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target> = "server";
return;
}
public void execute(org.glassfish.api.admin.AdminCommandContext)
{
java.lang.Object[] v, v;
org.glassfish.api.ActionReport v;
com.sun.enterprise.util.LocalStringManagerImpl v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v;
org.glassfish.jms.admin.cli.FlushJMSDestination v;
java.lang.IllegalArgumentException v;
java.util.logging.Logger v, v;
java.lang.Exception v;
org.glassfish.api.admin.AdminCommandContext v;
java.lang.Class v, v;
org.glassfish.api.ActionReport$ExitCode v, v;
v := @this: org.glassfish.jms.admin.cli.FlushJMSDestination;
v := @parameter: org.glassfish.api.admin.AdminCommandContext;
v = interfaceinvoke v.<org.glassfish.api.admin.AdminCommandContext: org.glassfish.api.ActionReport getActionReport()>();
v = <org.glassfish.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = newarray (java.lang.Object)[2];
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destName>;
v[0] = v;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destType>;
v[1] = v;
virtualinvoke v.<java.util.logging.Logger: void entering(java.lang.String,java.lang.String,java.lang.Object[])>(v, "flushJMSDestination", v);
label:
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destName>;
virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: void validateJMSDestName(java.lang.String)>(v);
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destType>;
virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: void validateJMSDestType(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<java.lang.IllegalArgumentException: java.lang.String getMessage()>();
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
return;
label:
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destName>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String destType>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target>;
specialinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: void flushJMSDestination(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
virtualinvoke v.<java.util.logging.Logger: void throwing(java.lang.String,java.lang.String,java.lang.Throwable)>(v, "flushJMSDestination", v);
v = <org.glassfish.jms.admin.cli.FlushJMSDestination: com.sun.enterprise.util.LocalStringManagerImpl localStrings>;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v[0] = v;
v = virtualinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: java.lang.String getLocalString(java.lang.String,java.lang.String,java.lang.Object[])>("flush.jms.dest.failed", "Flush JMS Destination failed", v);
virtualinvoke v.<org.glassfish.api.ActionReport: void setMessage(java.lang.String)>(v);
v = <org.glassfish.api.ActionReport$ExitCode: org.glassfish.api.ActionReport$ExitCode FAILURE>;
virtualinvoke v.<org.glassfish.api.ActionReport: void setActionExitCode(org.glassfish.api.ActionReport$ExitCode)>(v);
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void flushJMSDestination(java.lang.String, java.lang.String, java.lang.String) throws java.lang.Exception
{
boolean v, v;
com.sun.enterprise.config.serverbeans.Cluster v;
org.glassfish.jms.admin.cli.JMSAdminException v;
java.util.logging.Logger v, v;
java.lang.Exception v, v, v;
java.util.List v, v;
org.glassfish.config.support.CommandTarget v, v, v, v;
java.util.logging.Level v, v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
com.sun.enterprise.config.serverbeans.Clusters v;
org.glassfish.jms.admin.cli.FlushJMSDestination v;
java.lang.RuntimeException v;
java.lang.Throwable[] v;
java.lang.Object v, v, v;
v := @this: org.glassfish.jms.admin.cli.FlushJMSDestination;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.glassfish.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger>;
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.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger>;
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, "FlushJMSDestination ...");
label:
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target>;
v = virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: org.glassfish.config.support.CommandTarget getTypeForTarget(java.lang.String)>(v);
v = <org.glassfish.config.support.CommandTarget: org.glassfish.config.support.CommandTarget CLUSTER>;
if v == v goto label;
v = <org.glassfish.config.support.CommandTarget: org.glassfish.config.support.CommandTarget CLUSTERED_INSTANCE>;
if v != v goto label;
label:
v = new java.lang.Exception;
specialinvoke v.<java.lang.Exception: void <init>(java.lang.String)>("Purging failed.");
v = <org.glassfish.config.support.CommandTarget: org.glassfish.config.support.CommandTarget CLUSTER>;
if v != v goto label;
v = staticinvoke <org.glassfish.internal.api.Globals: java.lang.Object get(java.lang.Class)>(class "Lcom/sun/enterprise/config/serverbeans/Domain;");
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Domain: com.sun.enterprise.config.serverbeans.Cluster getClusterNamed(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <org.glassfish.internal.api.Globals: java.lang.Object get(java.lang.Class)>(class "Lcom/sun/enterprise/config/serverbeans/Domain;");
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Domain: com.sun.enterprise.config.serverbeans.Clusters getClusters()>();
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Clusters: java.util.List getCluster()>();
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target>;
v = staticinvoke <com.sun.enterprise.connectors.jms.util.JmsRaUtil: com.sun.enterprise.config.serverbeans.Cluster getClusterForServer(java.util.List,java.lang.String)>(v, v);
label:
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Cluster: java.util.List getInstances()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Server: java.lang.String getName()>();
virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: void purgeJMSDestination(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Server: java.lang.String getName()>();
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[])>("Purging failed for server of this name: \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
virtualinvoke v.<java.lang.Exception: void addSuppressed(java.lang.Throwable)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.Exception: java.lang.Throwable[] getSuppressed()>();
v = lengthof v;
if v == 0 goto label;
throw v;
label:
virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: void purgeJMSDestination(java.lang.String,java.lang.String,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: org.glassfish.jms.admin.cli.JMSAdminException handleException(java.lang.Exception)>(v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void purgeJMSDestination(java.lang.String, java.lang.String, java.lang.String) throws java.lang.Exception
{
java.lang.Throwable v;
java.util.logging.Level v;
org.glassfish.jms.admin.cli.MQJMXConnectorInfo v;
java.lang.String v, v, v, v;
boolean v, v;
org.glassfish.jms.admin.cli.JMSAdminException v;
javax.management.MBeanServerConnection v;
com.sun.appserv.connectors.internal.api.ConnectorRuntime v;
org.glassfish.jms.admin.cli.FlushJMSDestination v;
javax.management.ObjectName v;
java.util.logging.Logger v;
java.lang.Exception v;
org.glassfish.internal.api.ServerContext v;
com.sun.enterprise.config.serverbeans.Domain v;
com.sun.enterprise.config.serverbeans.Config v;
v := @this: org.glassfish.jms.admin.cli.FlushJMSDestination;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = <org.glassfish.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger>;
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, "purgeJMSDestination ...");
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: java.lang.String target>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: com.sun.enterprise.config.serverbeans.Config config>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: org.glassfish.internal.api.ServerContext serverContext>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: com.sun.enterprise.config.serverbeans.Domain domain>;
v = v.<org.glassfish.jms.admin.cli.FlushJMSDestination: com.sun.appserv.connectors.internal.api.ConnectorRuntime connectorRuntime>;
v = virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: org.glassfish.jms.admin.cli.MQJMXConnectorInfo createMQJMXConnectorInfo(java.lang.String,com.sun.enterprise.config.serverbeans.Config,org.glassfish.internal.api.ServerContext,com.sun.enterprise.config.serverbeans.Domain,com.sun.appserv.connectors.internal.api.ConnectorRuntime)>(v, v, v, v, v);
if v != null goto label;
return;
label:
v = virtualinvoke v.<org.glassfish.jms.admin.cli.MQJMXConnectorInfo: javax.management.MBeanServerConnection getMQMBeanServerConnection()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("topic");
if v == 0 goto label;
v = "t";
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("queue");
if v == 0 goto label;
v = "q";
label:
v = specialinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: javax.management.ObjectName createDestinationConfig(java.lang.String,java.lang.String)>(v, v);
interfaceinvoke v.<javax.management.MBeanServerConnection: java.lang.Object invoke(javax.management.ObjectName,java.lang.String,java.lang.Object[],java.lang.String[])>(v, "purge", null, null);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.glassfish.jms.admin.cli.FlushJMSDestination: org.glassfish.jms.admin.cli.JMSAdminException logAndHandleException(java.lang.Exception,java.lang.String)>(v, "admin.mbeans.rmb.error_purging_jms_dest");
throw v;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private javax.management.ObjectName createDestinationConfig(java.lang.String, java.lang.String) throws javax.management.MalformedObjectNameException, java.lang.NullPointerException
{
org.glassfish.jms.admin.cli.FlushJMSDestination v;
java.lang.String v, v, v, v;
javax.management.ObjectName v;
v := @this: org.glassfish.jms.admin.cli.FlushJMSDestination;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = staticinvoke <javax.management.ObjectName: java.lang.String quote(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("com.sun.messaging.jms.server:type=Destination,subtype=Config,desttype=\u,name=\u0001");
v = new javax.management.ObjectName;
specialinvoke v.<javax.management.ObjectName: void <init>(java.lang.String)>(v);
return v;
}
static void <clinit>()
{
java.util.logging.Logger v;
com.sun.enterprise.util.LocalStringManagerImpl v;
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String)>("jakarta.enterprise.system.tools.admin");
<org.glassfish.jms.admin.cli.FlushJMSDestination: java.util.logging.Logger logger> = v;
v = new com.sun.enterprise.util.LocalStringManagerImpl;
specialinvoke v.<com.sun.enterprise.util.LocalStringManagerImpl: void <init>(java.lang.Class)>(class "Lorg/glassfish/jms/admin/cli/FlushJMSDestination;");
<org.glassfish.jms.admin.cli.FlushJMSDestination: com.sun.enterprise.util.LocalStringManagerImpl localStrings> = v;
return;
}
}