我创建了一个具有默认(单例)范围的类的 bean。在课堂上,我有一个计划每小时运行一次的方法。
public class TaskService implements InitializingBean {
@Scheduled(cron="0 0 */1 * * ?")
public void hourlyReportTask()
{
... code here ...
}
public void performAllTasks()
{
hourlyReportTask();
...
...
}
}
我的应用程序配置看起来像这样,
<bean id="reportService"
class="com.tasks.TaskService" />
我假设运行计划任务的线程将使用相同的 TaskService bean,因为它是在单例范围内创建的。如果应用程序当前正在运行 hourlyReportTask() 并且 Spring 容器启动一个后台调度线程同时运行 hourlyReportTask() 会发生什么。它会等待访问 TaskService 实例吗?