java.lang.IllegalStateException:未找到线程绑定请求+@JaversSpringDataAuditable
当我在我的JPA存储库类中使用Javers Audit特性时,我得到了java.lang.IllegalStateException:未找到线程绑定请求+@JaversSpringDataAuditable,java,jpa,spring-boot,javers,Java,Jpa,Spring Boot,Javers,当我在我的JPA存储库类中使用Javers Audit特性时,我得到了java.lang.IllegalStateException:没有找到线程绑定的请求 @JaversSpringDataAuditable 我的服务方法(创建/更新)由@Async定义,并使用Future处理 Future<T> updateEmployee(Employee employee) { //some code here return new AsyncResult<T>
java.lang.IllegalStateException:没有找到线程绑定的请求
@JaversSpringDataAuditable
我的服务方法(创建/更新)由@Async
定义,并使用Future
处理
Future<T> updateEmployee(Employee employee) {
//some code here
return new AsyncResult<T>(employeeDTO);
}
未来更新员工(员工){
//这里有一些代码
返回新的异步结果(employeeDTO);
}
我有什么遗漏吗
java.util.concurrent.ExecutionException:java.lang.IllegalStateException:否
找到线程绑定请求:您是指实际web请求之外的请求属性,还是在最初接收线程之外处理请求?如果您实际上在web请求中操作,并且仍然收到此消息,那么您的代码可能在DispatcherServlet/DispatcherPortlet之外运行:在这种情况下,请使用RequestContextListener或RequestContextFilter公开当前请求。
在java.util.concurrent.FutureTask.report(未知源)~[na:1.8.0_112]
在java.util.concurrent.FutureTask.get(未知源代码)~[na:1.8.0_112]
原因:java.lang.IllegalStateException:未找到线程绑定请求:
您是指实际web请求之外的请求属性,还是
在原始接收线程之外处理请求?如果你是
在web请求中实际操作并且仍然收到此消息,您的
代码可能在DispatcherServlet/DispatcherPortlet:In之外运行
在这种情况下,请使用RequestContextListener或RequestContextFilter公开
当前请求.at
org.springframework.web.context.request.RequestContextHolder.currentRequestAttributes(RequestContextHolder.java:131)~[spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.web.context.support.WebApplicationContextUtils.currentRequestAttributes(WebApplicationContextUtils.java:275)~[spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.web.context.support.WebApplicationContextUtils.access$400(WebApplicationContextUtils.java:64)~[spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.web.context.support.WebApplicationContextUtils$RequestObjectFactory.getObject(WebApplicationContextUtils.java:291)~[spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.web.context.support.WebApplicationContextUtils$RequestObjectFactory.getObject(WebApplicationContextUtils.java:286)~[spring-web-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.beans.factory.support.AutowireUtils$ObjectFactoryDelegatingInvoke(AutowireUtils.java:307)~[spring-beans-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在com.sun.proxy.$Proxy146.getHeader(未知源)~[na:na]
在com.vz.uiam.common.audit.javers.ServletRequestAuthorProvider.provide(ServletRequestAuthorProvider.java:15)~[uiam\u common\u cloud-1.0.11.jar:1.0.11]
在org.javers.spring.auditable.aspect.OnSaveAuditChangeHandler.handle(OnSaveAuditChangeHandler.java:17)~[javers-spring-1.6.4.jar:na]
在org.javers.spring.auditable.aspect.JaversAuditableRepositoryAspect.applyVersionChange(JaversAuditableRepositoryAspect.java:94)~[javers-spring-1.6.4.jar:na]
在org.javers.spring.auditable.aspect.JaversAuditableRepositoryAspect.applyVersionChanges(JaversAuditableRepositoryAspect.java:89)~[javers-spring-1.6.4.jar:na]
在org.javers.spring.auditable.aspect.JaversAuditableRepositoryAspect.onVersionEvent(JaversAuditableRepositoryAspect.java:71)~[javers-spring-1.6.4.jar:na]
在org.javers.spring.auditable.aspect.JaversAuditableRepositoryAspect.onSaveExecuted(JaversAuditableRepositoryAspect.java:59)~[javers-spring-1.6.4.jar:na]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_112]
在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[na:1.8.0_112]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[na:1.8.0_112]
在java.lang.reflect.Method.invoke(未知源代码)~[na:1.8.0_112]
在org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:603)[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.aop.aspectj.AspectJAfterReturningAdvice.afterReturning(AspectJAfterReturningAdvice.java:61)~[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:53)~[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:168)[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.procedue(MethodInvocationProceedingJoinPoint.java:85)[spring-aop-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在com.vz.uiam.common.audit.aspect.JPAIdFieldNullifyAspect.monitor(JPAIdFieldNullifyAspect.java:55)~[uiam\u common\u cloud-1.0.11.jar:1.0.11]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)~[na:1.8.0_112]
在sun.reflect.NativeMethodAccessorImpl.invoke(未知源)~[na:1.8.0_112]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)~[na:1.8.0_112]
在java.lang.reflect.Method.invoke(未知源代码)~[na:1.8.0_112]
在org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJA