public class org.glassfish.batch.spi.impl.BatchRuntimeHelper extends java.lang.Object implements org.glassfish.hk.api.PostConstruct, org.glassfish.api.event.EventListener
{
org.glassfish.hk.api.ServiceLocator serviceLocator;
private org.glassfish.batch.spi.impl.BatchRuntimeConfiguration batchRuntimeConfiguration;
private org.glassfish.internal.api.ServerContext serverContext;
private volatile org.glassfish.batch.spi.impl.ManagedServiceActivator activator;
private org.glassfish.batch.spi.impl.GlassFishBatchSecurityHelper glassFishBatchSecurityHelper;
private java.util.logging.Logger logger;
org.glassfish.api.event.Events events;
com.sun.enterprise.config.serverbeans.Config config;
org.glassfish.internal.data.ApplicationRegistry applicationRegistry;
private org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider glassFishBatchExecutorServiceProvider;
private java.util.concurrent.atomic.AtomicBoolean initialized;
private static final java.lang.String CREATE_TABLE_DDL_NAME;
private java.util.Set tagNamesRequiringCleanup;
public void <init>()
{
java.util.HashSet v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider v;
java.util.concurrent.atomic.AtomicBoolean v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider;
specialinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider: void <init>(org.glassfish.batch.spi.impl.BatchRuntimeHelper)>(v);
v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider glassFishBatchExecutorServiceProvider> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.concurrent.atomic.AtomicBoolean initialized> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup> = v;
return;
}
public void checkAndInitializeBatchRuntime()
{
java.lang.Throwable v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
java.util.concurrent.atomic.AtomicBoolean v, v, v;
boolean v, v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.concurrent.atomic.AtomicBoolean initialized>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
entermonitor v;
label:
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.concurrent.atomic.AtomicBoolean initialized>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.concurrent.atomic.AtomicBoolean initialized>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void postConstruct()
{
java.lang.Throwable v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
com.ibm.jbatch.spi.BatchSPIManager v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider v;
org.glassfish.api.event.Events v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishDatabaseConfigurationBean v;
org.glassfish.batch.spi.impl.GlassFishBatchSecurityHelper v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.api.event.Events events>;
interfaceinvoke v.<org.glassfish.api.event.Events: void register(org.glassfish.api.event.EventListener)>(v);
v = staticinvoke <com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchSPIManager getInstance()>();
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider glassFishBatchExecutorServiceProvider>;
virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: void registerExecutorServiceProvider(com.ibm.jbatch.spi.ExecutorServiceProvider)>(v);
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.GlassFishBatchSecurityHelper glassFishBatchSecurityHelper>;
virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: void registerBatchSecurityHelper(com.ibm.jbatch.spi.BatchSecurityHelper)>(v);
label:
v = new org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishDatabaseConfigurationBean;
specialinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishDatabaseConfigurationBean: void <init>(org.glassfish.batch.spi.impl.BatchRuntimeHelper)>(v);
virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: void registerDatabaseConfigurationBean(com.ibm.jbatch.spi.DatabaseConfigurationBean)>(v);
label:
goto label;
label:
v := @caughtexception;
virtualinvoke v.<com.ibm.jbatch.spi.DatabaseAlreadyInitializedException: void printStackTrace()>();
label:
return;
catch com.ibm.jbatch.spi.DatabaseAlreadyInitializedException from label to label with label;
}
public void setExecutorService(java.util.concurrent.ExecutorService)
{
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider v;
java.util.concurrent.ExecutorService v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v := @parameter: java.util.concurrent.ExecutorService;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider glassFishBatchExecutorServiceProvider>;
virtualinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper$GlassFishBatchExecutorServiceProvider: void setExecutorService(java.util.concurrent.ExecutorService)>(v);
return;
}
private void registerIfBatchJobsDirExists(org.glassfish.internal.data.ApplicationInfo)
{
java.net.URL v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v;
java.util.Iterator v;
java.util.Collection v;
java.util.Set v, v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.internal.data.ApplicationInfo v;
java.lang.Object v;
java.lang.ClassLoader v, v;
com.sun.enterprise.config.serverbeans.Config v, v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v := @parameter: org.glassfish.internal.data.ApplicationInfo;
if v == null goto label;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: boolean isLoaded()>();
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.ClassLoader getAppClassLoader()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.ClassLoader: java.net.URL getResource(java.lang.String)>("META-INF/batch-jobs");
if v == null goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup>;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: com.sun.enterprise.config.serverbeans.Config config>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Config: java.lang.String getName()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.String getName()>();
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[])>("\u0001:\u0001");
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
label:
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.util.Collection getModuleInfos()>();
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 = virtualinvoke v.<org.glassfish.internal.data.ModuleInfo: java.lang.ClassLoader getModuleClassLoader()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.ClassLoader: java.net.URL getResource(java.lang.String)>("META-INF/batch-jobs");
if v == null goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup>;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: com.sun.enterprise.config.serverbeans.Config config>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Config: java.lang.String getName()>();
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationInfo: java.lang.String getName()>();
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[])>("\u0001:\u0001");
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
public void event(org.glassfish.api.event.EventListener$Event)
{
boolean v, v, v, v, v, v, v, v;
com.ibm.jbatch.spi.BatchSPIManager v;
org.glassfish.api.event.EventListener$Event v;
java.util.Set v, v, v, v;
java.util.logging.Logger v, v;
java.lang.Exception v, v;
com.ibm.jbatch.spi.BatchJobUtil v, v, v, v;
org.glassfish.api.event.EventTypes v, v, v;
java.util.logging.Level v, v;
java.lang.String v, v, v, v, v;
java.util.Properties v;
java.util.Iterator v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.internal.data.ApplicationInfo v;
org.glassfish.internal.data.ApplicationRegistry v, v;
java.lang.Object v, v, v, v, v, v, v;
com.sun.enterprise.config.serverbeans.Config v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v := @parameter: org.glassfish.api.event.EventListener$Event;
label:
v = <org.glassfish.api.event.EventTypes: org.glassfish.api.event.EventTypes SERVER_READY>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v == 0 goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.internal.data.ApplicationRegistry applicationRegistry>;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationRegistry: java.util.Set getAllApplicationNames()>();
v = interfaceinvoke v.<java.util.Set: 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 = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.internal.data.ApplicationRegistry applicationRegistry>;
v = virtualinvoke v.<org.glassfish.internal.data.ApplicationRegistry: org.glassfish.internal.data.ApplicationInfo get(java.lang.String)>(v);
specialinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: void registerIfBatchJobsDirExists(org.glassfish.internal.data.ApplicationInfo)>(v);
goto label;
label:
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes APPLICATION_LOADED>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
v = v instanceof org.glassfish.internal.data.ApplicationInfo;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
specialinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: void registerIfBatchJobsDirExists(org.glassfish.internal.data.ApplicationInfo)>(v);
label:
v = <org.glassfish.internal.deployment.Deployment: org.glassfish.api.event.EventTypes UNDEPLOYMENT_SUCCESS>;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: boolean is(org.glassfish.api.event.EventTypes)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
if v == null goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
v = v instanceof org.glassfish.deployment.common.DeploymentContextImpl;
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.api.event.EventListener$Event: java.lang.Object hook()>();
v = virtualinvoke v.<org.glassfish.deployment.common.DeploymentContextImpl: java.util.Properties getAppProps()>();
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("defaultAppName");
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String)>("retain-batch-jobs");
v = staticinvoke <java.lang.Boolean: boolean parseBoolean(java.lang.String)>(v);
if v != 0 goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: com.sun.enterprise.config.serverbeans.Config config>;
v = interfaceinvoke v.<com.sun.enterprise.config.serverbeans.Config: java.lang.String getName()>();
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[])>("\u0001:\u0001");
label:
v = staticinvoke <com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchSPIManager getInstance()>();
if v == null goto label;
v = virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchJobUtil getBatchJobUtil()>();
if v == null goto label;
v = virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchJobUtil getBatchJobUtil()>();
interfaceinvoke v.<com.ibm.jbatch.spi.BatchJobUtil: void purgeOwnedRepositoryData(java.lang.String)>(v);
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchJobUtil getBatchJobUtil()>();
if v == null goto label;
v = virtualinvoke v.<com.ibm.jbatch.spi.BatchSPIManager: com.ibm.jbatch.spi.BatchJobUtil getBatchJobUtil()>();
interfaceinvoke v.<com.ibm.jbatch.spi.BatchJobUtil: void purgeOwnedRepositoryData(java.lang.String)>(v);
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.Set tagNamesRequiringCleanup>;
interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: 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,java.lang.Throwable)>(v, "Error while purging jobs", v);
label:
goto label;
label:
v := @caughtexception;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.logging.Logger logger>;
v = <java.util.logging.Level: java.util.logging.Level FINE>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.glassfish.api.event.EventListener$Event)>(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[])>("Exception while handling event: \u0001");
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, v, v);
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public java.lang.String getDataSourceLookupName()
{
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.internal.api.ServerContext v;
org.glassfish.batch.spi.impl.BatchRuntimeConfiguration v;
int v;
java.lang.String v, v, v, v;
boolean v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeConfiguration batchRuntimeConfiguration>;
v = interfaceinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeConfiguration: java.lang.String getDataSourceLookupName()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != 0 goto label;
label:
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.internal.api.ServerContext serverContext>;
v = interfaceinvoke v.<org.glassfish.internal.api.ServerContext: java.lang.String getInstanceName()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("server");
if v == 0 goto label;
v = "jdbc/__TimerPool";
goto label;
label:
v = "jdbc/__default";
label:
v = v;
label:
return v;
}
public static java.lang.String getDefaultDataSourceLookupNameForTarget(java.lang.String)
{
java.lang.String v, v;
boolean v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("server");
if v == 0 goto label;
v = "jdbc/__TimerPool";
goto label;
label:
v = "jdbc/__default";
label:
return v;
}
private java.lang.String getSchemaName()
{
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
org.glassfish.batch.spi.impl.BatchRuntimeConfiguration v;
int v;
java.lang.String v, v, v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeConfiguration batchRuntimeConfiguration>;
v = interfaceinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeConfiguration: java.lang.String getJobRepositoryDatabaseSchemaName()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String trim()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = v;
goto label;
label:
v = "APP";
label:
return v;
}
public java.lang.String getExecutorServiceLookupName()
{
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
java.lang.String v;
org.glassfish.batch.spi.impl.BatchRuntimeConfiguration v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.BatchRuntimeConfiguration batchRuntimeConfiguration>;
v = interfaceinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeConfiguration: java.lang.String getExecutorServiceLookupName()>();
return v;
}
public java.util.concurrent.ExecutorService lookupExecutorService()
{
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
java.lang.String v;
java.util.concurrent.ExecutorService v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v = virtualinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.lang.String getExecutorServiceLookupName()>();
v = virtualinvoke v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: java.util.concurrent.ExecutorService lookupExecutorService(java.lang.String)>(v);
return v;
}
public java.util.concurrent.ExecutorService lookupExecutorService(java.lang.String)
{
javax.naming.InitialContext v;
org.glassfish.batch.spi.impl.ManagedServiceActivator v;
org.glassfish.batch.spi.impl.GlassFishBatchValidationException v, v;
java.lang.'annotation'.Annotation[] v;
javax.naming.NamingException v;
org.glassfish.batch.spi.impl.BatchRuntimeHelper v;
java.lang.Object v, v;
java.lang.String v, v, v;
org.glassfish.hk.api.ServiceLocator v;
boolean v;
v := @this: org.glassfish.batch.spi.impl.BatchRuntimeHelper;
v := @parameter: java.lang.String;
label:
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.ManagedServiceActivator activator>;
if v != null goto label;
v = v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.hk.api.ServiceLocator serviceLocator>;
v = newarray (java.lang.'annotation'.Annotation)[0];
v = interfaceinvoke v.<org.glassfish.hk.api.ServiceLocator: java.lang.Object getService(java.lang.Class,java.lang.'annotation'.Annotation[])>(class "Lorg/glassfish/batch/spi/impl/ManagedServiceActivator;", v);
v.<org.glassfish.batch.spi.impl.BatchRuntimeHelper: org.glassfish.batch.spi.impl.ManagedServiceActivator activator> = v;
label:
v = new javax.naming.InitialContext;
specialinvoke v.<javax.naming.InitialContext: void <init>()>();
v = virtualinvoke v.<javax.naming.InitialContext: java.lang.Object lookup(java.lang.String)>(v);
v = v instanceof java.util.concurrent.ExecutorService;
if v != 0 goto label;
v = new org.glassfish.batch.spi.impl.GlassFishBatchValidationException;
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 not mapped to an ExecutorService. Batch operations may not work correctly.");
specialinvoke v.<org.glassfish.batch.spi.impl.GlassFishBatchValidationException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
label:
v := @caughtexception;
v = new org.glassfish.batch.spi.impl.GlassFishBatchValidationException;
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[])>("No ExecutorService bound to name = \u0001");
specialinvoke v.<org.glassfish.batch.spi.impl.GlassFishBatchValidationException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch javax.naming.NamingException from label to label with label;
}
}