`

spring 配置 自动任务

 
阅读更多

 

 spring 中配置文件,定义 每天6:10:10 执行任务(6点10分10秒执行任务)

<description>upop 任务执行信息 </description>
 
 <!-- 系统SchedulerFactory -->
 <!--   -->
 <bean id="upopQuartzSchedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers"> 
           <list> 
              <ref bean="upopTrigger"/> 
           </list> 
       </property>
       <property name="autoStartup" value="true"/> 
 </bean>
 
 
 <!-- 每天 6:10:10触发一次 --> 
 <bean id="upopTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
       <property name="jobDetail" ref="upopJobDetail"/> 
       <property name="cronExpression" value="10 10 6 * * ?"/>
 </bean>
 <!-- -->
 <bean id="upopJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
        <property name="targetObject" ref="clearFileService"/>
        <property name="targetMethod" value="upopAndChinaNums"/> 
        <property name="concurrent" value="false"/>
 </bean>

 

clearFileService :执行自动任务类的实例。

upopAndChinaNums : 执行任务类中要执行的方法。

 

类定义:

 


@Service("clearFileService")
public class ClearFileServiceImp implements ClearFileService{

 static private  Logger log = LoggerFactory.getLogger(ClearFileServiceImp.class);
 
 @Resource
 private ClearFileDao clearFileDao;

 /**
  * 对账信息
  */
 public void upopAndChinaNums() throws ServiceException{
  HashMap<String, Object> map = new HashMap<String, Object>(); 
  map.put("transtime", "20141229");
  List<UpopCheckPojo> list = clearFileDao.upopAndChinaNums(map);
  
  if(list !=null && list.size() > 0){
   UpopAndCheck upopAndCheck = new UpopAndCheck(list);
   //准备参数
   Date date = Tools.dateDay(Calendar.getInstance().getTime(), -1);
   log.info("对账日期:"+date);
   //本地文件名称前缀
   String filePfx = FileUp.getItem("upop.up.ftp.down.fileName");
   //对账文件名中日期格式
   String dateFormat = FileUp.getItem("upop.up.ftp.fileName_date");
   String dateFile = Tools.dateToStr(date, dateFormat);
   
   //本地路径  upop.up.ftp.localpath=e:/
   String localPath =FileUp.getItem("upop.up.ftp.localpath");
   
   StringBuilder sbFileName = new StringBuilder(20);
   sbFileName.append(filePfx).append(dateFile);
   
   boolean bFile = upopAndCheck.writeFile(localPath+sbFileName.toString(), "GBK");
   log.info("生成对账文件状态:"+bFile);
   //上传对账日志
   if(bFile){
    ftpResult(sbFileName.toString());
   }
  }else{
   log.info("今天没有成功对账记录 日期:"+Calendar.getInstance().getTime());
  }

 }
 
 
 public boolean ftpResult(String fileName){
  boolean flag = false;
  try {
   long start = System.currentTimeMillis();

   String ip =FileUp.getItem("upop.up.ftp.ip").trim();
   String ftpName = FileUp.getItem("upop.up.ftp.name").trim();
   String ftpPwd = FileUp.getItem("upop.up.ftp.pwd").trim();
   String ftpPort = FileUp.getItem("upop.up.ftp.port").trim();
   int port = Integer.parseInt(ftpPort);
   //#ftp服务器路径
   String serverPath = FileUp.getItem("upop.up.ftp.serverpath");
   //#本地路径
   String localpath = FileUp.getItem("upop.up.ftp.localpath");
   
   
   
   FileUp fileUp = new FileUp();
   fileUp.connectServer(ftpName, ftpPwd, ip, port);
   
   flag = fileUp.fileUp(serverPath, localpath, fileName);
   fileUp.closeConnect();
   
   long end = System.currentTimeMillis();
   log.info("上传用时:"+(end - start));
   
  } catch (Exception e) {
   log.error("文件上传错误:"+e.getMessage());
  }
  return flag;
 }

}

 

分享到:
评论

相关推荐

    Spring配置定时任务

    在Spring框架中,定时任务是通过Spring的Task模块来实现的,这允许我们在应用程序中创建和管理定时任务,而无需依赖外部的...通过这种方式,开发者可以轻松地在Spring应用中实现定时任务,提高系统自动化程度和效率。

    springboot动态配置定时任务(schedule)

    在Spring Boot应用中,动态配置定时任务是提升系统灵活性和可维护性的重要手段。Spring Boot集成了Spring Framework的TaskExecution和TaskScheduling模块,使得我们可以方便地创建和管理定时任务。本文将深入探讨...

    spring2.5 定时器任务

    ### Spring2.5定时器任务实现机制与配置详解 #### 一、Spring2.5定时器任务概述 ...此外,Spring框架后续版本还提供了更多高级特性和支持,例如Spring Boot中的自动化配置等,可以进一步提高开发效率。

    Spring中定时任务

    在Spring框架中,定时任务是实现自动化操作的重要组成部分,它允许开发者在特定的时间间隔执行一些重复性的任务。本文将深入探讨Spring中的定时任务,并结合Eclipse和Maven项目环境进行讲解。 首先,Spring提供了两...

    转:spring多个定时任务quartz配置

    6. **注册JobDetail和Trigger**:在Spring配置文件中,为每个Job创建一个`JobDetail`,并为每个`JobDetail`配置对应的`Trigger`。 ```xml &lt;bean id="myJob" class="org.springframework.scheduling.quartz....

    Spring3.0定时任务简单实例web工程

    要启用定时任务,我们需要在Spring配置文件(如`applicationContext.xml`)中定义一个`TaskScheduler` bean。通常我们会使用`ThreadPoolTaskScheduler`或`ConcurrentTaskScheduler`,前者基于线程池,后者基于`java....

    Springboot中使用数据库配置定时任务

    在Spring Boot应用中,我们可以利用其强大的自动化配置和Spring Task模块来实现基于数据库配置的定时任务。Spring Task是Spring框架的一部分,它提供了丰富的定时和调度功能,使得在Java应用中执行周期性任务变得...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    在Spring中配置Quartz,首先需要在Spring配置文件中声明JobDetail和Trigger,然后将它们关联。Quartz允许更复杂的定时策略,如复杂的cron表达式、依赖管理等。Spring的SchedulerFactoryBean可以帮助我们轻松地将...

    spring自带定时任务程序

    通过灵活的配置,开发者可以轻松地调整任务执行的频率,确保应用程序能够按需自动运行。 总结来说,Spring自带的定时任务程序提供了一种高效、灵活的方式来管理应用程序中的周期性任务。通过XML配置或Java配置,...

    jbpm+spring配置

    【jbpm+spring配置】是将业务流程管理(Business Process Management, BPM)框架jbpm与企业级应用开发框架Spring相结合的实践。jbpm是一个开源的BPM解决方案,它提供了流程定义、执行、监控和管理的一整套工具。而...

    Spring配置JTA事务管理

    Spring框架在企业级Java应用中广泛用于实现...总的来说,Spring配置JTA事务管理是一项关键任务,它确保了在分布式环境下的数据一致性。理解并正确配置JTA事务管理,能够让你的应用程序更加健壮,适应复杂的企业级需求。

    spring3配置quartz定时任务

    2. **创建作业bean**:在Spring配置文件中声明这个作业bean,并设置其类为`MyJob`: ```xml ``` 3. **定义触发器**:触发器控制作业何时执行。Quartz提供了多种类型的触发器,如SimpleTrigger、CronTrigger等。...

    spring 配置c3p0

    总结,Spring配置C3P0连接池涉及到添加依赖、在Spring配置文件中定义数据源bean以及配置C3P0的相关参数。通过这种方式,我们可以有效地管理和利用数据库连接,提高系统的稳定性和效率。在实际项目中,还需要根据具体...

    spring 任务调度

    通过深入学习Spring任务调度,开发者可以有效地管理和执行各种定时任务,提升系统的自动化水平。在实际项目中,可以根据需求的复杂程度选择使用Spring Task或是集成Quartz。同时,理解源码有助于我们更高效地利用...

    spring多个定时任务quartz配置

    4. **声明JobDetail**:在Spring配置文件中声明JobDetail,这会告诉Quartz如何实例化和执行Job。例如: ```xml &lt;bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"&gt; ...

    Spring实现任务调度

    要使用Spring的内置任务调度,我们需要在配置中启用`TaskExecutor`和`TaskScheduler`。在XML配置中,可以添加如下配置: ```xml &lt;bean id="taskExecutor" class="org.springframework.scheduling.concurrent....

    spring job 的配置

    在Spring中配置Job,主要是为了实现后台任务的自动化执行,比如数据清洗、统计分析、定时发送邮件等业务需求。下面我们将深入探讨如何配置和使用Spring Job。 首先,我们需要在Spring的配置文件中引入Task执行器的...

    spring quartz通过xml配置实现定时任务demo

    本示例将详细讲解如何通过XML配置文件来实现Spring与Quartz的集成,从而构建一个定时任务Demo。 首先,Quartz是开源的作业调度框架,允许应用程序在预定义的时间执行特定的任务。Spring框架则提供了强大的依赖注入...

    spring2.0学习笔记+spring定时任务

    至于“工具”标签,Spring提供了丰富的工具集,如Spring Tool Suite(STS),这是一个集成开发环境,为Spring开发者提供了许多便利的功能,包括代码提示、自动配置检测和项目模板等。 在"spring学习总结.doc"这个...

Global site tag (gtag.js) - Google Analytics