问题大概是这样的:一个类似12306的订票系统,我们首先确定提交订单,加入我买了一张票,系统提示:您的订单已经被锁定。现在假如我不支付。这样的话,那这条订单就会在提示的锁定时间内被售票系统锁定。我的实现方法是这样的,我新增一个timer单例,在这个timer单例上我将每一条未支付的订单都加在一个timertask上,挂在timer的任务队列中。根据票被锁定时间,设置该条task被执行延迟时间。我有几个个疑问就是:1、假如我往timer的任务队列中加入过多的task,这个timer会不会因为某一个task执行出现问题,而导致阻塞。2、某些task执行时间过长,会不会出现后续的都增加延迟,导致延迟越来越大,如果这样的系统常年累月运行的话,会不会出现严重问题。不知道大家能不能从我的只言片语中理解我所说的这个案例的大致情况,希望有javaSE了解多的人能指点迷津先谢过了
解决方案 »
- S2SH框架整合出现报错
- jsp如何访问绝对路径资源
- eclipse调试jsp javascript失效
- EJB视频
- java sql2000 图片问题
- 为什么jsp 页面变量没有被替换啊?
- Tomcat服务器下JSP和JavaBean里使用<jsp:setProperty name="user1" property="*" />出现中文乱码,如何解决
- 记录集重复使用问题
- 分页问题后遗症-- 急等
- 重载ClassLoader的loadClass后,在JSP中调用,运行至defineClass是出现NoClassDefFoundError异常
- 同一个页面中如何识别另一个页面中的多个submit
- jsp中如何实现发送邮件?
现在任务调度框架挺多的,cron4j不知道你了解过或者用过没,他怎么样啊?
不过到目前为止,我觉得ScheduledThreadPoolExecutors已经可以部分满足我的需求了
我想对任务队列进行详细控制,但他不保证getqueue的队列是按照时间先后排列的。
这样的话我就要对任务队列进行排序,当然,我自己创建一个任务队列
但我发现一个问题,就是他没有对未成功执行的任务提供接口,这样我就不知道哪些任务没有被成功执行啊