...
一 首先配置好的 Async线程池配置类 在注解 Async中调用的方法中如果使用security来获取用户信息应该是获取不到的,原因是异步任务开启了新线程,所以用的登录信息不能在子线程获取,只能在主线程获取,因为securityContextHolder默认将用户信息保存在了ThreadLocal 主线程Security信息,即调用异步方法之前线程: 子线程security信息,即调用异步方法之 ...
2020-12-31 16:03 0 459 推荐指数:
...
开启新线程之前,添加代码: ...
因为异步编排的原因,他会丢掉ThreadLocal中原来线程的数据,从而获取不到loginUser,这种情况下我们可以在方法内的局部变量中先保存原来线程的信息,在异步编排的新线程中拿着局部变量的值重新设置到新线程中即可。 由于RequestContextHolder使用ThreadLocal共享 ...
...
在springboot主程序里改成 参考文章:https://www.cnblogs.com/qq931399960/p/10184 ...
前言 spring上下文是spring容器抽象的一种实现。将你需spring帮你管理的对象放入容器的一种对象,ApplicationContext是一维护Bean定义以及对象之间协作关第的高级接口。 获取spring的上下文环境ApplicationContext的方式 ...
在实际开发中,有时候会根据某个bean的名称或class到Spring容器中获取对应的Bean。这里只做个简单的记录,方便后续自查。 ...
/** 在主线程执行block */ + (void)gs_synExecuteOnMainThread:(void (^)(void))block { if ((nil == block) || (NULL == block)) { return ...