在以下线程中访问作用域代理Bean

在以下线程中访问作用域代理Bean,第1张

在以下线程访问作用域代理Bean

我将以下超类用于需要访问请求范围的任务。基本上,你可以扩展它并在onRun()方法中实现你的逻辑

import org.springframework.web.context.request.RequestAttributes;import org.springframework.web.context.request.RequestContextHolder;public abstract class RequestAwareRunnable implements Runnable {  private final RequestAttributes requestAttributes;  private Thread thread;  public RequestAwareRunnable() {    this.requestAttributes = RequestContextHolder.getRequestAttributes();    this.thread = Thread.currentThread();  }  public void run() {    try {      RequestContextHolder.setRequestAttributes(requestAttributes);      onRun();    } finally {      if (Thread.currentThread() != thread) {        RequestContextHolder.resetRequestAttributes();      }      thread = null;    }  }  protected abstract void onRun();}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5110064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存