spring定时配置每天下午四点半和五点各执行一次咋弄?

目前需求要求每天下午四点半和五点各执行一次,一个定时任务如何配置

建议使用Quartz实现,可参考以下资料,如有不明白再描述
https://www.cnblogs.com/beppezhang/p/6293471.html

可以写2个task, 需要注意的是表达式的时的值的取值范围是0-23,

Spring Quartz cronExpression 不能支持该场景,最省事的方式就是建立两个Trigger,调用同一个JobTast。

<!-- 定义调用的对象及对象中的方法 -->
<bean id="defMyJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="myTask" />
    <property name="targetMethod" value="execute" />
    <property name="concurrent" value="false" /> <!-- 是否支持并发 -->
</bean>

<!-- 触发器:定义出发器执行的脚本的时间  -->
<bean id="triggerTestJob" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="defMyJob" />
    <property name="cronExpression">
        <value>0 30 16 * * ?</value>        
    </property>    
</bean>

 <!-- 触发器:定义出发器执行的脚本的时间  -->
<bean id="triggerTestJob1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="defMyJob" />
    <property name="cronExpression">
        <value>0 0 17 * * ?</value>        
    </property>    
</bean>

<!-- 总管理类,启动触发器的配置, 如果将lazy-init='false'那么容器启动就会执行调度程序 -->  
<bean id="startQuartz" lazy-init='false' autowire="no"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
    <property name="triggers">  
        <list>  
            <ref bean="triggerTestJob" />
            <ref bean="triggerTestJob1" />
        </list>  
    </property>  
    <property name="autoStartup" value="true" />
    <property name="startupDelay" value="30"/>
</bean>

可以看看spring schedule

为什么不用crontab

图片说明这样的吗?

应该使用到的定时任务框架都能支持cron表达式,cron表达式写好就行了