shiro放到异步线程中执行时会报这个错,放到线程外就正常了

shiro放到异步线程中执行时会报这个错,放到线程外就正常了,错误如下

org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration.

Cause: org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration.

代码如下:
出错代码:
// 保存日志
//创建异步任务
Task task = new Task()
{
@Override
public void run()
{
// 封装对象
SpringContextHolder.getBean(IOperationLogService.class).insert(operationLog);
}
};
// 运行任务
SpringContextHolder.getBean(TaskHelper.class).doTask(task);

正常执行代码:
IOperationLogService operationLogService = SpringContextHolder.getBean(IOperationLogService.class);
operationLogService.insert(operationLog);

1个回答

lyctdcq123
lyctdcq123 谢谢,看了你的回答,我还是不知道该如何解决,不过谢谢你的回答
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问