No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton
问题
- java调用Python脚本处理数据,java异步获取Python脚本返回的结果,导致报错
原因
- 因为异步的原因新开的一个线程,新线程没有初始化SecurityManager导致报错
解决方法
- 在当前接口重新初始化SecurityManager
- 需要注意的是此方法只能解决不报错,但是如果你想获取里面的用户数据是没有的,因为当前业务不需要做其他事情所以使用此方法解决
DefaultSecurityManager securityManager = new DefaultSecurityManager();
SecurityUtils.setSecurityManager(securityManager);