java - 如何在 Spring 为 ScheduledTimerTask 设置服务器时间?

标签 java spring timer job-scheduling

我们正在使用 ScheduledTimerTask 来管理应用程序中的作业(自动)。我们正在使用以下代码:

<bean id="SampleTask" 
  class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
    <property name="targetObject" ref="sampleScheduler" />
    <property name="targetMethod" value="runMethod" />
</bean>

<bean id="sampleScheduler" class="com.sample.SampleScheduler" />

<bean id="timerTask"
    class="org.springframework.scheduling.timer.ScheduledTimerTask">
    <property name="timerTask" ref="schedulerTask" />
    <property name="delay" value="1000" />
    <property name="period" value="60000" />
</bean>

<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
    <property name="scheduledTimerTasks">
        <list>
            <ref local="timerTask" />
        </list>
    </property>
</bean>

通过使用上面的代码,runMethod 每隔一分钟工作正常。但我们想根据服务器时间更改执行。例如,如果服务器时间是下午 6 点,那么我们需要调用函数。如何实现?

帮助将不胜感激。

最佳答案

可以使用Spring的任务触发器在某个时间段调用,可以使用CronTrigger

详细文档为 here

关于java - 如何在 Spring 为 ScheduledTimerTask 设置服务器时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337279/

相关文章:

java - 为什么我的 java 计时器根本不重复代码?

java - 使用按钮显示闹钟计时器

java - rx-java 中的套接字看门狗

java - 如何在不访问目标表的情况下从 JPA ManyToOne 映射中检索外键?

java - 可以向@ManyToMany Hibernate 额外表添加额外字段吗?

java - 如何使 Spring Data Elasticsearch 使用 java.time.LocalDateTime 获取日期

jQuery - 设置计时器运行一次然后执行函数

Java版本差异?

java - 持久化实体时出现 NullPointerException

java - 通过 maven 和 spring 使用 liquibase 文件路径