spring 任务调度

spring(quartz) 任务调度为每一秒刷新一次,但是程序启动(加载配置文件)时没有加载完,就任务调度,报空指针异常,怎么办? (如果改为五分钟就没有问题,)这个问题怎么解决,希望大家能帮帮我!

iteye_3175
iteye_3175 你问题要描述清楚 : 1. XML配置 2. 启动日志 3. web.xml配置
大约 8 年之前 回复

3个回答

这个很简单啊,你可以设置 任务开始的时间 在 程序启动之后
也就是 延迟一个时间 启动任务:
<!-- 启动延迟60 秒 -->
<!-- 任务执行的周期 30秒 -->

shaosse
shaosse 在吗?在线吗?
大约 8 年之前 回复
oyj7454103
oyj7454103 jspp@qq.com
大约 8 年之前 回复
shaosse
shaosse 你的邮箱是多少,我给发电子邮件吧,我设置了,就是不行,你帮我看看
大约 8 年之前 回复
oyj7454103
oyj7454103 我看了下 源码有延迟加载 这个属性 private JobDetail jobDetail; private String beanName; private long startDelay; 所有你配置的时候 加上这个属性: <property name="startDelay" value="60000" /> <!-- 启动延迟60 秒 --> ok 了! 呵呵 有问题再联系我哈!
大约 8 年之前 回复
oyj7454103
oyj7454103 Spring 有两种方式配置任务的哦! 你也可以看下 org.springframework.scheduling.quartz.CronTriggerBean 这个类的属性,可能就有 延迟这个属性, 或者你换种方式: <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="HalfMinUteTimerTrigger" /> <!-- 30秒扫描任务表 --> <!-- <ref bean="OneMinuteTimerTrigger" /> 60秒扫描任务表 --> <!-- <ref bean="CleanDataTimerTrigger" /> 半小时自动清理数据 --> </list> </property> </bean>
大约 8 年之前 回复
shaosse
shaosse <bean id="dataGatherTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="dataGatherJob"/> </property> <property name="cronExpression"> <value>0/1 * * * * ?</value> </property> </bean> <bean id="dataGatherJob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>com.platform.service.DataGatherByQuartz</value> </property> <property name="jobDataAsMap"> <map> <entry key="synchrFileInstance"> <ref bean="synchrFileInstanceId"/> </entry> <entry key="concurrent" value="false"/> </map> </property> </bean>
大约 8 年之前 回复
shaosse
shaosse 能不能具体点,谢谢
大约 8 年之前 回复

设置lazy-init试下呢,值是true或者false.

SimpleTriggerBean
startDelay:延迟多少时间开始触发,单位为毫秒,默认为0
SchedulerFactoryBean
startupDelay:在SchedulerFactoryBean初始化完成后,延迟多少秒启动Scheduler,默认为0,表示马上启动。如 果并非马上拥有需要执行的任务,可通过startupDelay属性让Scheduler延迟一小段时间后启动,以便让Spring能够更快初始化容器中 剩余的Bean。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐