需要在加了@Scheduled的方法中加一个DefaultWebSecurityManager
带来的问题与优化:
每次定时任务启动就要new一个DefaultWebSecurityManager,这是个问题;优化下,可以将DefaultWebSecurityManager 作为静态变量,或者放到spring容器中。
如下面代码:
static DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
@Scheduled(cron = "0 * * * * ?")//每分钟执行一次
public void automaticReceiving() throws ParseException {
ThreadContext.bind(manager);
//下面正常使用业务代码即可
}