Java 如何在异步任务中利用spring数据jpa审计(AuditorAware)?

Java 如何在异步任务中利用spring数据jpa审计(AuditorAware)?,java,spring-data,Java,Spring Data,目前,我的实现使用Spring检索当前Auditor以保存创建/修改用户名: @Service public class AuditorAwareImpl implements AuditorAware<UserDetails> { private final UserDetailsService userDetailsService; @Autowired public AuditorAwareImpl(UserDetailsService userDe

目前,我的实现使用Spring检索当前Auditor以保存创建/修改用户名:

@Service
public class AuditorAwareImpl implements AuditorAware<UserDetails> {

    private final UserDetailsService userDetailsService;

    @Autowired
    public AuditorAwareImpl(UserDetailsService userDetailsService){
        this.userDetailsService = userDetailsService;
    }

    @Override
    public UserDetails getCurrentAuditor() {
        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
        return userDetailsService.loadUserByUsername(authentication.getName());
    }
}
到目前为止,我已经将调用用户的请求作为非标识参数包含到作业中,但不知道从这里开始


SecurityContextHolder
不适合查找调用的“auditor”时,推荐使用spring内置审核的方法是什么?

您可以使用专门为传播spring
SecurityContext而设计的。另外,您还需要为安全上下文设置
模式\u INHERITABLETHREADLOCAL

我对这个问题很熟悉,有什么解决方案吗?我是说卡住了,没有东西(错误)看看这里谢谢。因为我使用的是SimpleAsyncTaskExecuter,所以设置MODE_INHERITABLETHREADLOCAL策略对我来说就足够了。
java.lang.NullPointerException: null
    at com.example.services.AuditorAwareImpl.getCurrentAuditor(AuditorAwareImpl.java:31)
    at com.example.services.AuditorAwareImpl.getCurrentAuditor(AuditorAwareImpl.java:18)