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的Task模块来实现的,这允许我们在应用程序中创建和管理定时任务,而无需依赖外部的...通过这种方式,开发者可以轻松地在Spring应用中实现定时任务,提高系统自动化程度和效率。
在Spring Boot应用中,动态配置定时任务是提升系统灵活性和可维护性的重要手段。Spring Boot集成了Spring Framework的TaskExecution和TaskScheduling模块,使得我们可以方便地创建和管理定时任务。本文将深入探讨...
### Spring2.5定时器任务实现机制与配置详解 #### 一、Spring2.5定时器任务概述 ...此外,Spring框架后续版本还提供了更多高级特性和支持,例如Spring Boot中的自动化配置等,可以进一步提高开发效率。
在Spring框架中,定时任务是实现自动化操作的重要组成部分,它允许开发者在特定的时间间隔执行一些重复性的任务。本文将深入探讨Spring中的定时任务,并结合Eclipse和Maven项目环境进行讲解。 首先,Spring提供了两...
6. **注册JobDetail和Trigger**:在Spring配置文件中,为每个Job创建一个`JobDetail`,并为每个`JobDetail`配置对应的`Trigger`。 ```xml <bean id="myJob" class="org.springframework.scheduling.quartz....
要启用定时任务,我们需要在Spring配置文件(如`applicationContext.xml`)中定义一个`TaskScheduler` bean。通常我们会使用`ThreadPoolTaskScheduler`或`ConcurrentTaskScheduler`,前者基于线程池,后者基于`java....
在Spring Boot应用中,我们可以利用其强大的自动化配置和Spring Task模块来实现基于数据库配置的定时任务。Spring Task是Spring框架的一部分,它提供了丰富的定时和调度功能,使得在Java应用中执行周期性任务变得...
在Spring中配置Quartz,首先需要在Spring配置文件中声明JobDetail和Trigger,然后将它们关联。Quartz允许更复杂的定时策略,如复杂的cron表达式、依赖管理等。Spring的SchedulerFactoryBean可以帮助我们轻松地将...
通过灵活的配置,开发者可以轻松地调整任务执行的频率,确保应用程序能够按需自动运行。 总结来说,Spring自带的定时任务程序提供了一种高效、灵活的方式来管理应用程序中的周期性任务。通过XML配置或Java配置,...
【jbpm+spring配置】是将业务流程管理(Business Process Management, BPM)框架jbpm与企业级应用开发框架Spring相结合的实践。jbpm是一个开源的BPM解决方案,它提供了流程定义、执行、监控和管理的一整套工具。而...
Spring框架在企业级Java应用中广泛用于实现...总的来说,Spring配置JTA事务管理是一项关键任务,它确保了在分布式环境下的数据一致性。理解并正确配置JTA事务管理,能够让你的应用程序更加健壮,适应复杂的企业级需求。
2. **创建作业bean**:在Spring配置文件中声明这个作业bean,并设置其类为`MyJob`: ```xml ``` 3. **定义触发器**:触发器控制作业何时执行。Quartz提供了多种类型的触发器,如SimpleTrigger、CronTrigger等。...
总结,Spring配置C3P0连接池涉及到添加依赖、在Spring配置文件中定义数据源bean以及配置C3P0的相关参数。通过这种方式,我们可以有效地管理和利用数据库连接,提高系统的稳定性和效率。在实际项目中,还需要根据具体...
通过深入学习Spring任务调度,开发者可以有效地管理和执行各种定时任务,提升系统的自动化水平。在实际项目中,可以根据需求的复杂程度选择使用Spring Task或是集成Quartz。同时,理解源码有助于我们更高效地利用...
4. **声明JobDetail**:在Spring配置文件中声明JobDetail,这会告诉Quartz如何实例化和执行Job。例如: ```xml <bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> ...
要使用Spring的内置任务调度,我们需要在配置中启用`TaskExecutor`和`TaskScheduler`。在XML配置中,可以添加如下配置: ```xml <bean id="taskExecutor" class="org.springframework.scheduling.concurrent....
在Spring中配置Job,主要是为了实现后台任务的自动化执行,比如数据清洗、统计分析、定时发送邮件等业务需求。下面我们将深入探讨如何配置和使用Spring Job。 首先,我们需要在Spring的配置文件中引入Task执行器的...
本示例将详细讲解如何通过XML配置文件来实现Spring与Quartz的集成,从而构建一个定时任务Demo。 首先,Quartz是开源的作业调度框架,允许应用程序在预定义的时间执行特定的任务。Spring框架则提供了强大的依赖注入...
至于“工具”标签,Spring提供了丰富的工具集,如Spring Tool Suite(STS),这是一个集成开发环境,为Spring开发者提供了许多便利的功能,包括代码提示、自动配置检测和项目模板等。 在"spring学习总结.doc"这个...