public class org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew extends org.glassfish.cdi.transaction.TransactionalInterceptorBase
{
private static final long serialVersionUID;
private static final java.util.logging.Logger _logger;
public void <init>()
{
org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew v;
v := @this: org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew;
specialinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorBase: void <init>()>();
return;
}
public java.lang.Object transactional(jakarta.interceptor.InvocationContext) throws java.lang.Exception
{
org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew v;
boolean v, v, v, v;
jakarta.transaction.Transaction v, v, v, v;
java.util.logging.Logger v, v, v, v, v, v, v;
java.lang.Exception v, v, v, v, v;
jakarta.transaction.TransactionalException v, v, v, v, v;
java.lang.Throwable v, v;
jakarta.interceptor.InvocationContext v;
java.util.logging.Level v, v, v, v, v, v, v;
int v, v;
java.lang.String v, v, v, v, v;
jakarta.transaction.TransactionManager v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew;
v := @parameter: jakarta.interceptor.InvocationContext;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "AS-JTA-00013");
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: boolean isLifeCycleMethod(jakarta.interceptor.InvocationContext)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.lang.Object proceed(jakarta.interceptor.InvocationContext)>(v);
return v;
label:
virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: void setTransactionalTransactionOperationsManger(boolean)>(0);
label:
v = null;
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = interfaceinvoke v.<jakarta.transaction.TransactionManager: jakarta.transaction.Transaction getTransaction()>();
if v == null goto label;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String)>(v, "AS-JTA-00014");
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = interfaceinvoke v.<jakarta.transaction.TransactionManager: jakarta.transaction.Transaction suspend()>();
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void begin()>();
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = v instanceof com.sun.enterprise.transaction.TransactionManagerHelper;
if v == 0 goto label;
virtualinvoke v.<com.sun.enterprise.transaction.TransactionManagerHelper: void preInvokeTx(boolean)>(1);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "AS-JTA-00015", v);
v = new jakarta.transaction.TransactionalException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during begin \u0001");
specialinvoke v.<jakarta.transaction.TransactionalException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.lang.Object proceed(jakarta.interceptor.InvocationContext)>(v);
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = v instanceof com.sun.enterprise.transaction.TransactionManagerHelper;
if v == 0 goto label;
virtualinvoke v.<com.sun.enterprise.transaction.TransactionManagerHelper: void postInvokeTx(boolean,boolean)>(0, 1);
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = interfaceinvoke v.<jakarta.transaction.TransactionManager: jakarta.transaction.Transaction getTransaction()>();
v = interfaceinvoke v.<jakarta.transaction.Transaction: int getStatus()>();
if v != 1 goto label;
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void rollback()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void commit()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "AS-JTA-00016", v);
v = new jakarta.transaction.TransactionalException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during commit \u0001");
specialinvoke v.<jakarta.transaction.TransactionalException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
if v == null goto label;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void resume(jakarta.transaction.Transaction)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "AS-JTA-00017", v);
v = new jakarta.transaction.TransactionalException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during resume \u0001");
specialinvoke v.<jakarta.transaction.TransactionalException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = v instanceof com.sun.enterprise.transaction.TransactionManagerHelper;
if v == 0 goto label;
virtualinvoke v.<com.sun.enterprise.transaction.TransactionManagerHelper: void postInvokeTx(boolean,boolean)>(0, 1);
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
v = interfaceinvoke v.<jakarta.transaction.TransactionManager: jakarta.transaction.Transaction getTransaction()>();
v = interfaceinvoke v.<jakarta.transaction.Transaction: int getStatus()>();
if v != 1 goto label;
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void rollback()>();
goto label;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void commit()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "AS-JTA-00016", v);
v = new jakarta.transaction.TransactionalException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Managed bean with Transactional annotation and TxType of REQUIRES_NEW encountered exception during commit \u0001");
specialinvoke v.<jakarta.transaction.TransactionalException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
if v == null goto label;
label:
v = virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: jakarta.transaction.TransactionManager getTransactionManager()>();
interfaceinvoke v.<jakarta.transaction.TransactionManager: void resume(jakarta.transaction.Transaction)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger>;
v = <java.util.logging.Level: java.util.logging.Level INFO>;
virtualinvoke v.<java.util.logging.Logger: void log(java.util.logging.Level,java.lang.String,java.lang.Throwable)>(v, "AS-JTA-00017", v);
v = new jakarta.transaction.TransactionalException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Exception)>(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[])>("Managed bean with Transactional annotation and TxType of REQUIRED encountered exception during resume \u0001");
specialinvoke v.<jakarta.transaction.TransactionalException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
throw v;
label:
virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: void resetTransactionOperationsManager()>();
return v;
label:
v := @caughtexception;
virtualinvoke v.<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: void resetTransactionOperationsManager()>();
throw v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
java.util.logging.Logger v;
v = staticinvoke <java.util.logging.Logger: java.util.logging.Logger getLogger(java.lang.String,java.lang.String)>("jakarta.enterprise.resource.jta", "org.glassfish.cdi.LogMessages");
<org.glassfish.cdi.transaction.TransactionalInterceptorRequiresNew: java.util.logging.Logger _logger> = v;
return;
}
}