class org.springframework.orm.hibernate5.support.AsyncRequestInterceptor implements org.springframework.web.context.request.async.CallableProcessingInterceptor, org.springframework.web.context.request.async.DeferredResultProcessingInterceptor
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.orm.hibernate5.support.AsyncRequestInterceptor
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.hibernate.SessionFactory sessionFactory;
descriptor: Lorg/hibernate/SessionFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.orm.hibernate5.SessionHolder sessionHolder;
descriptor: Lorg/springframework/orm/hibernate5/SessionHolder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean timeoutInProgress;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean errorInProgress;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.logger:Lorg/apache/commons/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.hibernate.SessionFactory, org.springframework.orm.hibernate5.SessionHolder);
descriptor: (Lorg/hibernate/SessionFactory;Lorg/springframework/orm/hibernate5/SessionHolder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionFactory:Lorg/hibernate/SessionFactory;
2: aload 0
aload 2
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 4 1 sessionFactory Lorg/hibernate/SessionFactory;
0 4 2 sessionHolder Lorg/springframework/orm/hibernate5/SessionHolder;
MethodParameters:
Name Flags
sessionFactory
sessionHolder
public <T> void preProcess(org.springframework.web.context.request.NativeWebRequest, java.util.concurrent.Callable<T>);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.bindSession:()V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 task Ljava/util/concurrent/Callable<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable<TT;>;)V
MethodParameters:
Name Flags
request
task
public void bindSession();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.timeoutInProgress:Z
1: aload 0
iconst_0
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.errorInProgress:Z
2: aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionFactory:Lorg/hibernate/SessionFactory;
aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.bindResource:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
public <T> void postProcess(org.springframework.web.context.request.NativeWebRequest, java.util.concurrent.Callable<T>, );
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionFactory:Lorg/hibernate/SessionFactory;
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.unbindResource:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 task Ljava/util/concurrent/Callable<TT;>;
0 2 3 concurrentResult Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable<TT;>;Ljava/lang/Object;)V
MethodParameters:
Name Flags
request
task
concurrentResult
public <T> handleTimeout(org.springframework.web.context.request.NativeWebRequest, java.util.concurrent.Callable<T>);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.timeoutInProgress:Z
1: getstatic org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.RESULT_NONE:Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 task Ljava/util/concurrent/Callable<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable<TT;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
request
task
public <T> handleError(org.springframework.web.context.request.NativeWebRequest, java.util.concurrent.Callable<T>, java.lang.Throwable);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable;Ljava/lang/Throwable;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.errorInProgress:Z
1: getstatic org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.RESULT_NONE:Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 task Ljava/util/concurrent/Callable<TT;>;
0 2 3 t Ljava/lang/Throwable;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable<TT;>;Ljava/lang/Throwable;)Ljava/lang/Object;
MethodParameters:
Name Flags
request
task
t
public <T> void afterCompletion(org.springframework.web.context.request.NativeWebRequest, java.util.concurrent.Callable<T>);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.closeSession:()V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 task Ljava/util/concurrent/Callable<TT;>;
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Ljava/util/concurrent/Callable<TT;>;)V
MethodParameters:
Name Flags
request
task
private void closeSession();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.timeoutInProgress:Z
ifne 1
aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.errorInProgress:Z
ifeq 3
1: StackMap locals:
StackMap stack:
getstatic org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.logger:Lorg/apache/commons/logging/Log;
ldc "Closing Hibernate Session after async request timeout/error"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: aload 0
getfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.sessionHolder:Lorg/springframework/orm/hibernate5/SessionHolder;
invokevirtual org.springframework.orm.hibernate5.SessionHolder.getSession:()Lorg/hibernate/Session;
invokestatic org.springframework.orm.hibernate5.SessionFactoryUtils.closeSession:(Lorg/hibernate/Session;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
public <T> boolean handleTimeout(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.context.request.async.DeferredResult<T>);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.timeoutInProgress:Z
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 deferredResult Lorg/springframework/web/context/request/async/DeferredResult<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult<TT;>;)Z
MethodParameters:
Name Flags
request
deferredResult
public <T> boolean handleError(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.context.request.async.DeferredResult<T>, java.lang.Throwable);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult;Ljava/lang/Throwable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
putfield org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.errorInProgress:Z
1: iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 deferredResult Lorg/springframework/web/context/request/async/DeferredResult<TT;>;
0 2 3 t Ljava/lang/Throwable;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult<TT;>;Ljava/lang/Throwable;)Z
MethodParameters:
Name Flags
request
deferredResult
t
public <T> void afterCompletion(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.context.request.async.DeferredResult<T>);
descriptor: (Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.orm.hibernate5.support.AsyncRequestInterceptor.closeSession:()V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/orm/hibernate5/support/AsyncRequestInterceptor;
0 2 1 request Lorg/springframework/web/context/request/NativeWebRequest;
0 2 2 deferredResult Lorg/springframework/web/context/request/async/DeferredResult<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/web/context/request/NativeWebRequest;Lorg/springframework/web/context/request/async/DeferredResult<TT;>;)V
MethodParameters:
Name Flags
request
deferredResult
}
SourceFile: "AsyncRequestInterceptor.java"