没分了,只能在这里发了,欢迎大家参观。
问题现状是这样的:
我写了一个即发任务,如,每天9:00执行一个任务。
1)把这个即发任务交给spring管理了。
<bean id="downloadUmpFile" class="com.caitong.payment.scheduler.UmpCheckingJob" singleton="false">
。
。
。
</bean>
2) 在即发任务调用的类中,有一个取前一天的方法如下:
private String checkDay;
public String getDefaultDate(){
// 取前一天
GregorianCalendar calendar = new GregorianCalendar();
calendar.roll(Calendar.DATE, false);
checkDay = FORMAT.format(calendar.getTime());
return checkDay;
}
在本机测试的时候,都没有问题。以前没有写singleton="false"。
每天的9:00生成前一天的txt文件。但是某一天后,它停留在了一个时间点上,每次都是这个时间如2011.11.12
然后我就在bean上加上了singleton="false"。加上后,就成功了一次。如2011.12.29号加上的。在2011.12.30 9:00的时候,正确生成了2011.12.29号的文件。
问题是:
从2011.12.29往后,都没有正确生成。日志显示,下载时间总是停留在2011.12.29。
一直到2012.1.1号,下载时间竟然莫名其妙的显示“对账文件日期: 20120131”
我实在是搞不懂是spring中配置哪里出错了,还是那个取前一天的方法错了。
各位神人,给指点一下呗。。。
(没分了,只能在这里发了。大家不要拍砖!!!)
------解决方案--------------------应该是配置吧