- 浏览: 501499 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (449)
- java细节 (186)
- javascript (6)
- tomcat (2)
- java基础 (17)
- extjs (1)
- java 开源 (17)
- java-bug (5)
- 电脑软件 (16)
- oracle-dba (8)
- oracle (6)
- java 精神 (17)
- SSH (6)
- 常用开源 (29)
- Mysql (22)
- 电脑学习 (8)
- jsp (12)
- html5 (6)
- hadoop (3)
- webos (2)
- web前端开发 (7)
- java实践 (2)
- 其它 (19)
- python (4)
- c++ (1)
- linux (2)
- css3+h5 (9)
- bootstrap (12)
- ps (1)
- vue (5)
- android (3)
最新评论
-
springdata_springmvc:
java inputstream demo教程源代码下载:ht ...
文件的读写 -- java FileInputStream -
hukaimiao:
[/c佛挡[size=x-small][color=darkr ...
文件的读写 -- java FileInputStream -
wwm4851186:
可惜这是中国
10大技能 让你坐享10万美元薪酬 -
zhubo357087527:
楼主,这样写可以吗?用“Process proc = Runt ...
在java中如何调用linux的ctrl+c指令?
方式一:
间隔一定时间 运行
<bean id="updateSessionIdTask" class="com.yang.iprms.common.UpdateSessionTask" autowire="byName" />
<bean id="updateSessionIdScheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="delay" value="20" />
<property name="period" value="60000" />
<property name="timerTask">
<ref local="updateSessionIdTask" />
</property>
</bean>
<bean id="updateSessionIdTimer" class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref local="updateSessionIdScheduledTask" />
</list>
</property>
</bean>
java文件:
import java.util.TimerTask;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
public class UpdateSessionTask extends TimerTask{
private Logger logger = Logger.getLogger(UpdateSessionTask.class);
@Autowired
IRecordService recordService;
@Override
public void run() {
try
{
logger.info("进入定时更新未匹配录音数据");
if (recordService == null)
{
logger.info("recordService == null");
this.InitRecordService();
}
recordService.updateSessionList();
}
catch(Exception exp)
{
logger.error("定时更新未匹配录音数据,异常");
exp.printStackTrace();
}
}
方式二: 指定corn时间运行
<bean id="recordFtpJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.yang.iprms.recordftp.task.RecordFtpTimerTask">
</property>
</bean>
<bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="recordFtpJob" />
<property name="cronExpression">
<value>0 0 11,12 * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><ref bean="cronReportTrigger"/></list>
</property>
</bean>
11 点和 12点运行一次
java
import org.apache.log4j.Logger;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.channelsoft.xframe.utils.BeanFactoryUtil;
public class RecordFtpTimerTask extends QuartzJobBean{
/**
*
*/
private static final long serialVersionUID = 112212L;
private Logger logger = Logger.getLogger(this.getClass());
IRecordFtpService recordFtpService;
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
try
{
logger.info("进入定时上传语音文件数据");
if (recordFtpService == null)
{
logger.info("recordService == null");
recordFtpService = (IRecordFtpService)(BeanFactoryUtil.getBean("recordFtpService"));
}
recordFtpService.uploadWav();
}
catch(Exception exp)
{
logger.error("定时更新未匹配录音数据,异常");
exp.printStackTrace();
}
}
//方式二 需要 jta-1.1.jar 和quartz-1.6.0.jar
间隔一定时间 运行
<bean id="updateSessionIdTask" class="com.yang.iprms.common.UpdateSessionTask" autowire="byName" />
<bean id="updateSessionIdScheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="delay" value="20" />
<property name="period" value="60000" />
<property name="timerTask">
<ref local="updateSessionIdTask" />
</property>
</bean>
<bean id="updateSessionIdTimer" class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref local="updateSessionIdScheduledTask" />
</list>
</property>
</bean>
java文件:
import java.util.TimerTask;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
public class UpdateSessionTask extends TimerTask{
private Logger logger = Logger.getLogger(UpdateSessionTask.class);
@Autowired
IRecordService recordService;
@Override
public void run() {
try
{
logger.info("进入定时更新未匹配录音数据");
if (recordService == null)
{
logger.info("recordService == null");
this.InitRecordService();
}
recordService.updateSessionList();
}
catch(Exception exp)
{
logger.error("定时更新未匹配录音数据,异常");
exp.printStackTrace();
}
}
方式二: 指定corn时间运行
<bean id="recordFtpJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.yang.iprms.recordftp.task.RecordFtpTimerTask">
</property>
</bean>
<bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="recordFtpJob" />
<property name="cronExpression">
<value>0 0 11,12 * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list><ref bean="cronReportTrigger"/></list>
</property>
</bean>
11 点和 12点运行一次
java
import org.apache.log4j.Logger;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.channelsoft.xframe.utils.BeanFactoryUtil;
public class RecordFtpTimerTask extends QuartzJobBean{
/**
*
*/
private static final long serialVersionUID = 112212L;
private Logger logger = Logger.getLogger(this.getClass());
IRecordFtpService recordFtpService;
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
try
{
logger.info("进入定时上传语音文件数据");
if (recordFtpService == null)
{
logger.info("recordService == null");
recordFtpService = (IRecordFtpService)(BeanFactoryUtil.getBean("recordFtpService"));
}
recordFtpService.uploadWav();
}
catch(Exception exp)
{
logger.error("定时更新未匹配录音数据,异常");
exp.printStackTrace();
}
}
//方式二 需要 jta-1.1.jar 和quartz-1.6.0.jar
- quartz-1.6.0.jar (411.7 KB)
- 下载次数: 0
- jta-1.1.jar (12.9 KB)
- 下载次数: 0
发表评论
-
idea 设置自动编译
2023-06-13 09:39 481https://www.cnblogs.com/bxzmd/p ... -
eclipse 下载的地方
2023-05-31 00:43 241参考 https://baijiahao.baidu.com/ ... -
eclipse导入 idea
2023-03-19 21:27 311转: https://blog.csdn.net/qq_526 ... -
@DataSource切换数据库失效
2022-08-08 11:31 819在实现类中 再次注入即可 public class Face ... -
jar下载地址
2022-02-11 23:34 3491、进入官网:https://sourceforge.net/ ... -
java 测试两个月前的今天-改为保留60天-bug
2021-08-18 14:03 591比如今天是8.31 两个月前是 6.30。 但是存在问题,比如 ... -
idea 常见配置
2021-06-07 17:11 3571 sst 8.37 checkstyle 版本 2 设置c ... -
linux定时清理日志
2020-09-21 13:36 489clearlog.sh #!/bin/bash # 清理30 ... -
前端中文传到后台乱码
2020-09-10 23:35 659info = new String(info.getBytes ... -
linux 开机自启动
2020-09-07 10:20 438run.sh 文件内容如下: #!/bin/bash cd ... -
nodejs 和npm对应关系
2020-08-07 09:45 2188https://nodejs.org/en/download/ ... -
mybatis 插入库 乱码
2020-05-10 12:25 374jdbc:mysql://127.0.0.1:3306/tes ... -
Transactional 不生效(转)
2020-04-16 12:33 381@Transactional 默认是当方法抛出RuntimeE ... -
全栈开发
2020-03-11 21:51 368全栈开发没有明确的定义,但应该指的就是前端+后端+数据库。所以 ... -
rocketmq-一个消费组对应一个订阅关系
2019-10-23 10:39 816源码分析RocketMQ同一个消费组设置不同tag,消息订阅失 ... -
rocketmq 标签过滤的方式
2019-10-21 09:16 451https://www.kunzhao.org/blog/20 ... -
json 转 对象
2019-09-30 16:48 381单个 XX a = JsonUtils.fromJson(js ... -
springboot @RequestBody 和 @RequestParam
2019-09-09 23:08 1305一 在路径中 在PathVariable后面接入“uid”就可 ... -
java.sql.SQLException: Parameter index out of range (1 > number of parameters, w
2019-08-28 22:42 624完整错误: java.sql.SQLException: Pa ... -
List 简洁赋值
2019-08-14 10:35 578List<String> name = new A ...
相关推荐
总结来说,Spring定时器提供了两种方式来创建和执行定时任务:基于Timer的简单定时任务和基于Quartz的高级定时任务。Timer适用于简单的定时需求,而Quartz更适合需要精确控制任务执行时间和周期的复杂场景。在实际...
首先,理解Spring定时器的基础概念。Spring提供了两种定时任务框架:`java.util.Timer`和`@Scheduled`注解。然而,对于复杂的企业级应用,Quartz更具有优势,因为它支持集群、灵活的调度策略和丰富的API。 1. **...
在Spring框架中,有两种主要的方法来实现定时任务:Spring自带的`@Scheduled`注解和引入第三方库Quartz。这两种方法都可以帮助开发者在特定的时间点执行任务,为应用程序添加计划任务的能力。 首先,我们来看看使用...
本文将深入探讨Spring提供的两种定时器——`Quartz`和`Spring Task`,并进行对比分析。 首先,让我们了解`Quartz`。Quartz是一个开源的作业调度框架,它允许应用程序在指定的时间执行任务。Quartz提供了丰富的API,...
Spring 定时器两种实现方式 Spring 定时器是 Spring 框架中的一种组件,用于实现定时任务的执行。它提供了两种实现方式:Java Timer 定时和 Quartz 定时器。在本文中,我们将详细介绍这两种实现方式的原理、优点和...
Spring框架提供了两种方式来处理定时任务:Java内置的`Timer`类和第三方库OpenSymphony的Quartz。下面将详细介绍这两种实现方式。 ### 1. Java `Timer` 类 Java `java.util.Timer` 类是Java标准库中的一个轻量级...
Java定时器和Spring定时器是Java开发中用于执行周期性任务的重要工具,它们在系统维护、数据同步、报告生成等场景中发挥着关键作用。本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,...
在Spring框架中,定时任务的实现通常有多种方式,这里主要讨论的是两种常见的方式:Java Timer和Quartz定时器。这两种方法都有其特点和适用场景,开发者可以根据项目需求来选择。 1. **Java Timer定时器** Java ...
在Spring框架中,实现定时任务有两种主流方式:使用`java.util.Timer`类或集成第三方库如Quartz。这两种方法各有优势: - **Java Timer**:简单易用,适合简单的定时任务需求。 - **Quartz**:功能强大且灵活,支持...
在Java的Spring框架中,定时任务的实现有多种方式,其中两种常见的实现是基于Java的`Timer`类和OpenSymphony的`Quartz`库。这两种定时器在Spring中的使用和配置有所不同,各有优缺点,适合不同的应用场景。 1. **...
本篇文章将详细探讨两种实现Spring定时任务的方法:基于Java内置的`TimerTask`和第三方库Quartz Scheduler。 首先,让我们看看如何使用`TimerTask`来实现Spring中的定时任务。`TimerTask`是Java的标准库类,它提供...
在Spring中,AOP的实现主要有两种方式:基于代理的AOP(Proxy-based AOP)和基于字节码的AOP(Bytecode-based AOP)。基于代理的AOP主要使用JDK动态代理或CGLIB库来创建代理对象,而基于字节码的AOP则使用AspectJ库...
Spring定时器基于Java的`java.util.Timer`和`java.util.TimerTask`,但更进一步,它支持Quartz和SimpleScheduler这两种强大的定时任务库。Quartz是一个开源的作业调度框架,而SimpleScheduler则内置在Spring中,适用...
本篇文章将详细介绍两种使用Spring自身实现轻量级定时器的方法。 方法一:基于`@Scheduled`注解 1. `@Scheduled`注解:这是Spring提供的一个用于声明周期性任务的注解。在Java类中的方法上添加此注解,Spring会...
Spring支持两种方式来定义定时任务:一种是使用`@Scheduled`注解,另一种是通过实现`Runnable`接口并注册到`TaskScheduler`。 1. **使用`@Scheduled`注解**: 在你的服务类中,你可以为需要定时执行的方法添加`@...
这两种方法都可以有效地在Spring Boot中实现定时任务的功能。第一种方法更为常见,因为它允许你在主类中直接启用定时任务功能;而第二种方法则可以让主类保持简洁,适合那些希望将定时任务与业务逻辑分离的场景。...
Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`SpringIntegration`模块。其中,`TaskScheduler`和`TaskExecutor`适用于简单的定时任务需求,如间隔执行或周期性执行...
在提供的压缩包文件中,可能包含了使用上述两种方式实现的项目实例代码,你可以通过这些实例学习如何在不同的Spring版本下配置和使用定时任务。对于初学者来说,理解这些实例有助于深入掌握Spring的定时任务管理,并...
本篇文章将详细讲解两种在Spring MVC框架中实现定时任务的方法:Spring MVC自带的定时器以及Quartz与Spring的集成。 首先,我们来看看Spring MVC自带的定时任务。Spring MVC作为Spring框架的一个模块,主要处理HTTP...
本文将详细介绍两种不同的Java获取当前时间的方法,并进一步探讨如何在Spring框架中实现定时任务。 方法一: Java提供了`java.util.Date`和`java.util.Calendar`类来获取当前时间。在示例代码中,首先创建一个`Date...