class org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization extends org.springframework.transaction.support.ResourceHolderSynchronization<org.springframework.orm.jpa.EntityManagerHolder, javax.persistence.EntityManager> implements org.springframework.core.Ordered
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization
  super_class: org.springframework.transaction.support.ResourceHolderSynchronization
{
  private final javax.persistence.EntityManager entityManager;
    descriptor: Ljavax/persistence/EntityManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.dao.support.PersistenceExceptionTranslator exceptionTranslator;
    descriptor: Lorg/springframework/dao/support/PersistenceExceptionTranslator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public volatile boolean closeOnCompletion;
    descriptor: Z
    flags: (0x0041) ACC_PUBLIC, ACC_VOLATILE

  public void <init>(javax.persistence.EntityManager, org.springframework.dao.support.PersistenceExceptionTranslator);
    descriptor: (Ljavax/persistence/EntityManager;Lorg/springframework/dao/support/PersistenceExceptionTranslator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
        start local 1 // javax.persistence.EntityManager em
        start local 2 // org.springframework.dao.support.PersistenceExceptionTranslator exceptionTranslator
         0: .line 435
            aload 0 /* this */
            new org.springframework.orm.jpa.EntityManagerHolder
            dup
            aload 1 /* em */
            invokespecial org.springframework.orm.jpa.EntityManagerHolder.<init>:(Ljavax/persistence/EntityManager;)V
            aload 1 /* em */
            invokespecial org.springframework.transaction.support.ResourceHolderSynchronization.<init>:(Lorg/springframework/transaction/support/ResourceHolder;Ljava/lang/Object;)V
         1: .line 430
            aload 0 /* this */
            iconst_0
            putfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.closeOnCompletion:Z
         2: .line 436
            aload 0 /* this */
            aload 1 /* em */
            putfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
         3: .line 437
            aload 0 /* this */
            aload 2 /* exceptionTranslator */
            putfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.exceptionTranslator:Lorg/springframework/dao/support/PersistenceExceptionTranslator;
         4: .line 438
            return
        end local 2 // org.springframework.dao.support.PersistenceExceptionTranslator exceptionTranslator
        end local 1 // javax.persistence.EntityManager em
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;
            0    5     1                   em  Ljavax/persistence/EntityManager;
            0    5     2  exceptionTranslator  Lorg/springframework/dao/support/PersistenceExceptionTranslator;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
                     Name  Flags
      em                   
      exceptionTranslator  

  public int getOrder();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
         0: .line 442
            sipush 899
            ireturn
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;

  protected void flushResource(org.springframework.orm.jpa.EntityManagerHolder);
    descriptor: (Lorg/springframework/orm/jpa/EntityManagerHolder;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
        start local 1 // org.springframework.orm.jpa.EntityManagerHolder resourceHolder
         0: .line 448
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
            invokeinterface javax.persistence.EntityManager.flush:()V
         1: .line 449
            goto 4
         2: .line 450
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* ex */
        start local 2 // java.lang.RuntimeException ex
         3: .line 451
            aload 0 /* this */
            aload 2 /* ex */
            invokevirtual org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.convertException:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.RuntimeException ex
         4: .line 453
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.springframework.orm.jpa.EntityManagerHolder resourceHolder
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;
            0    5     1  resourceHolder  Lorg/springframework/orm/jpa/EntityManagerHolder;
            3    4     2              ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.RuntimeException
    MethodParameters:
                Name  Flags
      resourceHolder  

  protected boolean shouldReleaseBeforeCompletion();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
         0: .line 457
            iconst_0
            ireturn
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;

  public void afterCommit();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
         0: .line 462
            aload 0 /* this */
            invokespecial org.springframework.transaction.support.ResourceHolderSynchronization.afterCommit:()V
         1: .line 465
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
            invokeinterface javax.persistence.EntityManager.getTransaction:()Ljavax/persistence/EntityTransaction;
            invokeinterface javax.persistence.EntityTransaction.commit:()V
         2: .line 466
            goto 5
         3: .line 467
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* ex */
        start local 1 // java.lang.RuntimeException ex
         4: .line 468
            aload 0 /* this */
            aload 1 /* ex */
            invokevirtual org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.convertException:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.RuntimeException ex
         5: .line 470
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;
            4    5     1    ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.RuntimeException

  public void afterCompletion(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
        start local 1 // int status
         0: .line 475
            aload 0 /* this */
            iload 1 /* status */
            invokespecial org.springframework.transaction.support.ResourceHolderSynchronization.afterCompletion:(I)V
         1: .line 476
            iload 1 /* status */
            ifeq 10
         2: .line 479
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
            invokeinterface javax.persistence.EntityManager.getTransaction:()Ljavax/persistence/EntityTransaction;
            invokeinterface javax.persistence.EntityTransaction.rollback:()V
         3: .line 480
            goto 10
         4: .line 481
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 2 /* ex */
        start local 2 // java.lang.RuntimeException ex
         5: .line 482
            aload 0 /* this */
            aload 2 /* ex */
            invokevirtual org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.convertException:(Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.RuntimeException ex
         6: .line 486
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         7: .line 487
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.closeOnCompletion:Z
            ifeq 9
         8: .line 488
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
            invokestatic org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager:(Ljavax/persistence/EntityManager;)V
         9: .line 490
      StackMap locals: org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization int top java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        10: .line 487
      StackMap locals: org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization int
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.closeOnCompletion:Z
            ifeq 12
        11: .line 488
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.entityManager:Ljavax/persistence/EntityManager;
            invokestatic org.springframework.orm.jpa.EntityManagerFactoryUtils.closeEntityManager:(Ljavax/persistence/EntityManager;)V
        12: .line 491
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int status
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;
            0   13     1  status  I
            5    6     2      ex  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.RuntimeException
           0     6       6  any
    MethodParameters:
        Name  Flags
      status  

  private java.lang.RuntimeException convertException(java.lang.RuntimeException);
    descriptor: (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
        start local 1 // java.lang.RuntimeException ex
         0: .line 494
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.exceptionTranslator:Lorg/springframework/dao/support/PersistenceExceptionTranslator;
            ifnull 2
         1: .line 495
            aload 0 /* this */
            getfield org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.exceptionTranslator:Lorg/springframework/dao/support/PersistenceExceptionTranslator;
            aload 1 /* ex */
            invokeinterface org.springframework.dao.support.PersistenceExceptionTranslator.translateExceptionIfPossible:(Ljava/lang/RuntimeException;)Lorg/springframework/dao/DataAccessException;
            goto 3
         2: .line 496
      StackMap locals:
      StackMap stack:
            aload 1 /* ex */
            invokestatic org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible:(Ljava/lang/RuntimeException;)Lorg/springframework/dao/DataAccessException;
         3: .line 494
      StackMap locals:
      StackMap stack: org.springframework.dao.DataAccessException
            astore 2 /* dae */
        start local 2 // org.springframework.dao.DataAccessException dae
         4: .line 497
            aload 2 /* dae */
            ifnull 5
            aload 2 /* dae */
            goto 6
      StackMap locals: org.springframework.dao.DataAccessException
      StackMap stack:
         5: aload 1 /* ex */
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         6: areturn
        end local 2 // org.springframework.dao.DataAccessException dae
        end local 1 // java.lang.RuntimeException ex
        end local 0 // org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/springframework/orm/jpa/ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization;
            0    7     1    ex  Ljava/lang/RuntimeException;
            4    7     2   dae  Lorg/springframework/dao/DataAccessException;
    MethodParameters:
      Name  Flags
      ex    

  protected void flushResource(org.springframework.transaction.support.ResourceHolder);
    descriptor: (Lorg/springframework/transaction/support/ResourceHolder;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.orm.jpa.EntityManagerHolder
            invokevirtual org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization.flushResource:(Lorg/springframework/orm/jpa/EntityManagerHolder;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/springframework/transaction/support/ResourceHolderSynchronization<Lorg/springframework/orm/jpa/EntityManagerHolder;Ljavax/persistence/EntityManager;>;Lorg/springframework/core/Ordered;
SourceFile: "ExtendedEntityManagerCreator.java"
NestHost: org.springframework.orm.jpa.ExtendedEntityManagerCreator
InnerClasses:
  private ExtendedEntityManagerSynchronization = org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerSynchronization of org.springframework.orm.jpa.ExtendedEntityManagerCreator