java - 延迟任务:scheduler first execution in Spring 3

标签 java spring

我有一个使用 Spring 3 进行依赖注入(inject)的简单应用程序。我有一个供用户查看的 JFrame 和一些用于与后端服务器同步和本地数据库维护的后台任务。

这是我的应用程序上下文的相关部分:

<task:scheduler id="scheduler" pool-size="1"/>
<task:scheduled-tasks scheduler="scheduler">
    <task:scheduled ref="synchronizer" method="incrementalSync" fixed-delay="600000"/>
    ... more tasks ...
</task:scheduled-tasks>

<bean id="mainFrame" class="nl.gdries.myapp.client.ui.MainFrame">
    ... properties and such ...
</bean>

当我启动这个 applicationContext 时,即使我的 UI 正在加载,调度程序也会立即开始执行后台任务。因为第一个任务在开始时相当繁重,所以我希望它等待 UI 完全加载并显示,然后再开始执行。

有谁知道如何告诉 Spring 延迟执行计划任务,直到我选择的时刻?

最佳答案

这似乎已被排除在 <task:scheduled> 之外。 bean 定义,这是我上周才注意到的。

但请记住,<task:...>定义只是快捷方式,您始终可以使用显式方法,通过定义 ScheduledExecutorFactoryBean , 嵌套 ScheduledExecutorTask bean 。这为您提供了更精细的控制,包括 initialDelay .

关于java - 延迟任务:scheduler first execution in Spring 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080717/

相关文章:

java - 为什么在 Spring Security 的 hasPermission 检查中使用 "#post"而不是 "post"

java - okhttp 从数组添加 post 参数

java - 这个类是线程安全的吗?

java - Jackson @JsonIgnoreType 不适用于静态内部类

java - 如何使用 spring boot 动态创建 imap 接收器适配器?

java - 初始化 Spring 数据存储库时出现 NullPointerException

java - 返回数组总和的 toString 方法和递归方法中的错误

java - 使用 FTP 部署 Maven 多模块项目的站点时出错

java - 使用 JMS 关闭持久消费者的最佳方法是什么?

java - 有没有办法配置 ehcache 在无法获取更新版本时返回过期对象?