日期:2014-05-20  浏览次数:20687 次

没分了,只能在这里发了,欢迎大家参观。
问题现状是这样的:
   
  我写了一个即发任务,如,每天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中配置哪里出错了,还是那个取前一天的方法错了。



  各位神人,给指点一下呗。。。

  (没分了,只能在这里发了。大家不要拍砖!!!)




   
 

------解决方案--------------------
应该是配置吧