java定时任务是如何实现的?

傻瓜不傻801 2017-04-05 03:57:36
比如说个人银行转账,如果每个用户都选择的预约转账,也就是到了固定的时间开始做某件事,这是如何实现的?不会是每个用户开一个线程去做倒进时吧?

还有些项目只是单纯的把想执行的时间和相关数据放数据库中,我想请问,应用又是怎么知道那个点要做这件事了,做个轮回?不断扫描数据库吗?求大神知道,没有C币了【哭】
...全文
402 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
podd 2017-04-06
  • 打赏
  • 举报
回复
用quartz
傻瓜不傻801 2017-04-05
  • 打赏
  • 举报
回复
你说的这个我倒是知道,也用过。我只是好奇每个用户都有不同的时候我怎么去为每个用户去实现。。不是怎么实现定时任务
演员_ 2017-04-05
  • 打赏
  • 举报
回复
可以使用石英调度
vkqiang 2017-04-05
  • 打赏
  • 举报
回复
这些都有现成的框架的,百度一搜索就知道了
lanswerk 2017-04-05
  • 打赏
  • 举报
回复
使用Spring task
一个治疗术 2017-04-05
  • 打赏
  • 举报
回复
可以用quartz 可以设置任务执行时间 0 0 12 * * ? 每天12点触发 0 15 10 ? * * 每天10点15分触发 0 15 10 * * ? 每天10点15分触发 0 15 10 * * ? * 每天10点15分触发 0 15 10 * * ? 2005 2005年每天10点15分触发 0 * 14 * * ? 每天下午的 2点到2点59分每分触发 0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发) 0 0/5 14,18 * * ? 每天下午的 18点到18点59分(整点开始,每隔5分触发) 0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发 0 10,44 14 ? 3 WED 3月分每周三下午的 2点10分和2点44分触发 0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发 0 15 10 15 * ? 每月15号上午10点15分触发 0 15 10 L * ? 每月最后一天的10点15分触发 0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发 0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发 0 15 10 ? * 6#3 每月的第三周的星期五开始触发 0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次 0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节) 上面的可以在单个任务中配置
<!--要调度的对象 -->
<!-- 	<bean id="jobBean" class="com.api.work.controller.process.TimingQueryProcess" />

	<bean id="jobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="jobBean" />
		<property name="targetMethod" value="execute" />
		将并发设置为false
		<property name="concurrent" value="false" />
	</bean>

	<bean id="trigger"
		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="jobDetail" />
		表达式,我的是每 30s 执行一次
		<property name="cronExpression" value="0/30 * * * * ?" />
	</bean>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧