class io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener implements javax.transaction.Synchronization
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener
  super_class: java.lang.Object
{
  private final io.ebeaninternal.server.transaction.TransactionManager transactionManager;
    descriptor: Lio/ebeaninternal/server/transaction/TransactionManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.ebeaninternal.api.SpiTransaction transaction;
    descriptor: Lio/ebeaninternal/api/SpiTransaction;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(io.ebeaninternal.server.transaction.TransactionManager, io.ebeaninternal.api.SpiTransaction);
    descriptor: (Lio/ebeaninternal/server/transaction/TransactionManager;Lio/ebeaninternal/api/SpiTransaction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
        start local 1 // io.ebeaninternal.server.transaction.TransactionManager transactionManager
        start local 2 // io.ebeaninternal.api.SpiTransaction t
         0: .line 186
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 187
            aload 0 /* this */
            aload 1 /* transactionManager */
            putfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transactionManager:Lio/ebeaninternal/server/transaction/TransactionManager;
         2: .line 188
            aload 0 /* this */
            aload 2 /* t */
            putfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
         3: .line 189
            return
        end local 2 // io.ebeaninternal.api.SpiTransaction t
        end local 1 // io.ebeaninternal.server.transaction.TransactionManager transactionManager
        end local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lio/ebeaninternal/server/transaction/JtaTransactionManager$JtaTxnListener;
            0    4     1  transactionManager  Lio/ebeaninternal/server/transaction/TransactionManager;
            0    4     2                   t  Lio/ebeaninternal/api/SpiTransaction;
    MethodParameters:
                    Name  Flags
      transactionManager  
      t                   

  public void beforeCompletion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
         0: .line 193
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.preCommit:()V
         1: .line 194
            return
        end local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/ebeaninternal/server/transaction/JtaTransactionManager$JtaTxnListener;

  public void afterCompletion(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
        start local 1 // int status
         0: .line 198
            iload 1 /* status */
            tableswitch { // 3 - 4
                    3: 1
                    4: 6
              default: 11
          }
         1: .line 200
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 201
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Jta Txn ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] committed"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         3: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.postCommit:()V
         4: .line 205
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transactionManager:Lio/ebeaninternal/server/transaction/TransactionManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionManager.scope:()Lio/ebeaninternal/server/transaction/TransactionScopeManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionScopeManager.clearExternal:()V
         5: .line 206
            goto 13
         6: .line 209
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 8
         7: .line 210
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Jta Txn ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] rollback"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         8: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            aconst_null
            invokeinterface io.ebeaninternal.api.SpiTransaction.postRollback:(Ljava/lang/Throwable;)V
         9: .line 214
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transactionManager:Lio/ebeaninternal/server/transaction/TransactionManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionManager.scope:()Lio/ebeaninternal/server/transaction/TransactionScopeManager;
            invokevirtual io.ebeaninternal.server.transaction.TransactionScopeManager.clearExternal:()V
        10: .line 215
            goto 13
        11: .line 218
      StackMap locals:
      StackMap stack:
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 13
        12: .line 219
            getstatic io.ebeaninternal.server.transaction.JtaTransactionManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Jta Txn ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.getId:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] status:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        13: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener.transaction:Lio/ebeaninternal/api/SpiTransaction;
            invokeinterface io.ebeaninternal.api.SpiTransaction.getInternalConnection:()Ljava/sql/Connection;
            invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
        14: .line 225
            return
        end local 1 // int status
        end local 0 // io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lio/ebeaninternal/server/transaction/JtaTransactionManager$JtaTxnListener;
            0   15     1  status  I
    MethodParameters:
        Name  Flags
      status  
}
SourceFile: "JtaTransactionManager.java"
NestHost: io.ebeaninternal.server.transaction.JtaTransactionManager
InnerClasses:
  private JtaTxnListener = io.ebeaninternal.server.transaction.JtaTransactionManager$JtaTxnListener of io.ebeaninternal.server.transaction.JtaTransactionManager