- 浏览: 627373 次
- 性别:
- 来自: 北京
最新评论
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!--起动Bean--> <bean id="z" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronReportTrigger"/> </list> </property> </bean> <!--实际的工作Bean--> <bean id="courseService" class="com.spring.helloworld.CourseService"></bean> <!--jobBean用于设定启动时运用的Bean与方法--> <bean id="scheduledReportJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="courseService"/> </property> <property name="targetMethod"> <value>sendCourseEnrollmentReport</value> </property> </bean> <!--定时器设定起动频率&启动时间我设的是每5秒起动一次 (0 0 4 * * ?每日四点起动....)--> <bean id="cronReportTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"><ref bean="scheduledReportJobDetail"/> </property> <property name="cronExpression"><value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value> </property> </bean> </beans>
测试
package com.spring.helloworld; import java.io.FileNotFoundException; import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.FileSystemResource; import com.spring.hellow.LogInit; import com.spring.hellow.QuestException; public class TaskApp { public static void main(String[] args) throws BeansException, FileNotFoundException, QuestException, InterruptedException { new LogInit("WEB-INF/classes/com/spring/helloworld/log4j.properties"); BeanFactory factory = new XmlBeanFactory(new FileSystemResource( "WEB-INF/classes/" + "com/spring/helloworld/" + "helloworld.xml")); factory.getBean("z");//为什么必须用这个方法触发呢不触发为什么不行呢? } }
评论
9 楼
fly_ever
2009-11-05
这是我的一个测试,我配的2个任务。
spring 的配置:
运行时,首先我采用MainTest 测试
发现程序打印end后就结束了。
然后我用Main测试,可以正常执行。
job类的内容为:
spring 的配置:
<!-- 与quartz有关的设置 --> <bean id="billJob" class="test.BillReliabilityJob"/> <bean id="exceptionJob" class="test.ExceptionJob"/> <bean id="billJobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="billJob"/><!-- 调用的Job类 --> </property> <property name="targetMethod"> <value>run</value><!-- 调用的类中的方法 --> </property> </bean> <bean id="exceptionJobTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="exceptionJob"/><!-- 调用的Job类 --> </property> <property name="targetMethod"> <value>run</value><!-- 调用的类中的方法 --> </property> </bean> <bean id="billRunTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="billJobTask"/> </property> <property name="cronExpression"> <value>0/5 * * * * ?</value> </property> </bean> <bean id="ExceptionRunTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="exceptionJobTask"/> </property> <property name="cronExpression"> <value>10 * * * * ?</value> </property> </bean> <!-- 总管理类,如果lazy-init='false',则容器启动时就会执行调度程序--> <!-- 如果lazy-init='true',则需要实例化该bean才能执行调度程序 --> <bean id="billStartQuartz" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="billRunTime"/> <ref bean="ExceptionRunTime"/> </list> </property> </bean>
运行时,首先我采用MainTest 测试
public class MainTest extends TestCase { public void testJob(){ System.out.println("start"); ApplicationContext context = new FileSystemXmlApplicationContext( "./config/spring.xml"); System.out.println("end"); } }
发现程序打印end后就结束了。
然后我用Main测试,可以正常执行。
public class Main { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("start"); ApplicationContext context = new FileSystemXmlApplicationContext( "./config/spring.xml"); System.out.println("end"); } }
job类的内容为:
public class ExceptionJob { public void run(){ System.out.println("ExceptionJob running"); } }
8 楼
抛出异常的爱
2009-11-05
fly_ever 写道
很奇怪,在main方法中能正常运行,
而在测试类中,即继承TestCase的类中写一个方法,运行上述代码,则启动不了调度。
这是为什么呢?
而在测试类中,即继承TestCase的类中写一个方法,运行上述代码,则启动不了调度。
这是为什么呢?
最好不要测试Quartz本身...
PS:你可以把有问题的代码发上来看看.
7 楼
fly_ever
2009-11-05
很奇怪,在main方法中能正常运行,
而在测试类中,即继承TestCase的类中写一个方法,运行上述代码,则启动不了调度。
这是为什么呢?
而在测试类中,即继承TestCase的类中写一个方法,运行上述代码,则启动不了调度。
这是为什么呢?
6 楼
抛出异常的爱
2009-05-12
jdk的版本
eclipse版本 project -> javacompiler的jdk版本
tomcat jdk 版本...
Quarzt已经配置好 tomcat 5.*启动报错 大佬 帮忙看下
严重: Error listenerStart
2009-5-8 16:00:39 org.apache.catalina.core.StandardContext start
严重: Context [/irdpcms] startup failed due to previous errors
eclipse版本 project -> javacompiler的jdk版本
tomcat jdk 版本...
12616383 写道
Quarzt已经配置好 tomcat 5.*启动报错 大佬 帮忙看下
严重: Error listenerStart
2009-5-8 16:00:39 org.apache.catalina.core.StandardContext start
严重: Context [/irdpcms] startup failed due to previous errors
5 楼
12616383
2009-05-08
Quarzt已经配置好 tomcat 5.*启动报错 大佬 帮忙看下
严重: Error listenerStart
2009-5-8 16:00:39 org.apache.catalina.core.StandardContext start
严重: Context [/irdpcms] startup failed due to previous errors
代码:
严重: Error listenerStart
2009-5-8 16:00:39 org.apache.catalina.core.StandardContext start
严重: Context [/irdpcms] startup failed due to previous errors
代码:
<!--配置一个Job--> <bean id="testJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>com.zfsoft.irdpcms.action.QuartzJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="pringThing"> <value>this is the first Quarzt</value> </entry> <entry key="printName"> <value>leo</value> </entry> </map> </property> </bean> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail"> <ref bean="testJobDetail"/> </property> <property name="startDelay"> <value>10</value> </property> <property name="repeatInterval"> <value>2000</value> </property> <property name="repeatCount"> <value>20</value> </property> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="autoStartup"> <value>true</value> </property> <property name="triggers"> <list> <ref bean="simpleTrigger"/> </list> </property> </bean>
4 楼
抛出异常的爱
2008-07-15
谢谢
3 楼
sbe_steels
2008-07-05
在web.xml配置spring的监听器就可以,如果还要硬编码的形式来获取Scheduler,可能不能完全成为定时器,或则定时任务。
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2 楼
julycool
2007-09-05
设置lazy-init为false
1 楼
Godlikeme
2006-12-24
factory.getBean("z");//为什么必须用这个方法触发呢不触发为什么不行呢?
因为这个bean没有加载,scheduler没有实例化。如果自定义scheduler,还需要显示调用scheduler.start().或者再配置文件中声明。
因为这个bean没有加载,scheduler没有实例化。如果自定义scheduler,还需要显示调用scheduler.start().或者再配置文件中声明。
发表评论
-
vlc 必要的参数
2021-08-31 17:18 0vlc.exe -vvv -Idummy "rt ... -
grafana+mysql 页面设计
2019-02-25 08:51 0前提 1。主要是SELECT 。 2。使用mysql ... -
测试用例到底怎么才值的写
2016-04-30 10:32 0有个方法是这样的 public function ... -
postman cookies登陆设置
2016-04-28 09:30 2047必须登陆才能测试的接口如何测试? 打开这个开关就可以共用coo ... -
将png 切成ios android能用的格式
2016-04-28 01:24 739由于要求不高找了个在线切图的工具 http://images. ... -
如何在原有系统中加入功能(一数据库)
2016-04-24 11:06 820第一步想办法把建表语句导入一powerdesginer ... -
php递归 格式化 数字类型
2016-04-20 12:35 790/** * 数字转日期递归 ... -
freemind 怎么处理成为word
2015-06-11 19:37 16写文章用freemind打了一个草稿. 先导出成为htm ... -
架构师之路(工欲善其事,必先利其器)纸牌屋
2014-03-27 06:48 0起因:小胖的一个征集实现过程 https://gist.git ... -
油猴对抗一般广告
2012-11-14 00:07 1884看小说 好多好多的广告是必然的.. 所以 去掉iframe 去 ... -
回答一些很有共性的东西
2011-02-24 21:24 5600我作软件第二第三年时 ... -
粗糙的object打印日志用....
2010-11-04 18:40 2166function logJquery(o){ ... -
拳皇连招
2010-09-29 13:46 2370从列表中找到录入的后N位 class KOFTest { ... -
一个activeX方法 刚刚发现
2010-09-14 19:14 1509解答:此题 http://www.iteye.com/prob ... -
[反例]超短代码,意义不明
2010-08-19 17:49 1560public String logout(HttpServl ... -
站读帝
2010-07-26 09:29 1308http://www.hudong.com/wiki/%E7% ... -
不要重复发明轮子
2010-07-06 17:20 2171一直以为不要重复发明轮子的意义很简单. 今天看了人件.... ... -
答复: 不用判断语句求俩数中的大(或者小)数
2010-05-31 12:55 2125跳大神也是一种艺术: public class MaxMin ... -
集合合并
2010-05-28 10:15 1956用于时间表的合并 时间段的合并工作. public cla ... -
删除重名的记录
2010-04-05 23:04 1933面试看到这种题。。。。。 我估计考官的正确答案有可能是错的 所 ...
相关推荐
在 Spring 中配置 Quartz 需要定义一个 `SchedulerFactoryBean`,它负责创建和管理 Quartz 的调度器。通过配置文件(通常是 `applicationContext.xml`),我们可以设置调度器的属性,例如: ```xml ...
4. **配置Quartz**:在Spring的配置文件中,我们需要定义`SchedulerFactoryBean`,设置数据源、job存储以及其它Quartz配置属性。例如,`triggers`和`jobs`可以通过XML配置文件来定义,或者使用`@Configuration`注解...
接下来,我们需要在Spring的配置文件(如applicationContext.xml)中配置Quartz的相关bean,包括SchedulerFactoryBean、JobDetail和Trigger。例如: ```xml <bean id="schedulerFactoryBean" class="org.spring...
在配置完成后,你可以通过Spring的ApplicationContext来加载Quartz的相关配置,并使用Spring管理的bean作为Job执行器。这样,你可以在Spring的环境中无缝地使用Quartz进行任务调度。 在Quartz的配置中,你需要定义...
- 如何在Spring中配置Quartz - 如何创建和配置JobDetail和Trigger - Cron表达式的使用和理解 - 如何在Job类中注入依赖 - 如何启动和停止Scheduler - 如何调试和管理定时任务 总的来说,"Quartz+Spring定时触发器...
2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,定义SchedulerFactoryBean,这是Spring管理Quartz Scheduler的主要方式: ```xml <bean id="scheduler" class="org.springframework....
在Spring配置文件(如applicationContext.xml)中添加以下配置: ```xml <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> ...
在这个"spring-quartz简单实例"中,我们将探讨如何在Spring环境下配置和使用Quartz。 首先,我们需要引入Quartz和Spring的依赖。在Maven项目中,这通常通过在pom.xml文件中添加以下依赖来完成: ```xml ...
在这个小例子中,我们看到了如何定义一个简单的Job和Trigger,并在Spring配置中进行集成。实际上,你可以根据需求定义多个Job和Trigger,构建出复杂的调度逻辑。在实际项目中,这样的功能可以用于定时数据同步、定时...
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。
总结来说,这个Spring Quartz例子是一个完整的定时任务解决方案,它演示了如何在Spring环境中集成Quartz,定义和调度任务。这个例子对于学习和实践Spring的定时任务管理具有很高的参考价值。通过深入理解并实践这个...
-- 配置Quartz的属性 --> <property name="configLocation" value="classpath:quartz.properties"/> <!-- 定义JobDetail --> <bean class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> ...
此外,Spring 还可以通过`JobDetailBean`和`TriggerBean`来创建和配置 Quartz 对象。 例如,你可以创建一个`MyJob`类实现`org.quartz.Job`接口,然后在 Spring 配置文件中声明这个 Job 和相应的 Trigger: ```xml ...
通过这个例子,你可以快速学习到如何定义Job,如何配置Trigger,以及如何将它们与Spring的IoC容器结合,实现自动化任务调度。这是一个非常实用的起点,对于任何需要定期执行任务的Java项目来说,都是一个宝贵的参考...
2. **配置错误**:Spring配置中的`@Scheduled`注解或Quartz配置可能设置了错误的触发策略,使得任务被重复触发。 3. **线程安全**:如果你的任务逻辑不是线程安全的,可能会因为并发执行导致问题。 4. **Spring重启*...
2. `spring-context-support.jar`:Spring框架提供的上下文支持模块,包含对Quartz的支持,让你能在Spring容器中配置和管理Quartz任务。 3. `spring-beans.jar` 和 `spring-core.jar`:Spring的基本组件,用于定义...
3. 在Spring配置文件中定义JobDetail和Trigger,设置任务的执行逻辑和触发时间。 4. 配置Quartz的相关属性,如数据源、调度器配置等。 理解并掌握这些知识点,可以让你在实际项目中灵活地实现定时任务,例如定时...
在Spring框架中集成Quartz是一款常见的任务...在Spring中配置Quartz,首先需要在项目的类路径下添加Quartz库,包括`quartz.jar`和对应的数据库驱动。接着,在Spring配置文件中声明Scheduler工厂Bean,例如: ```xml ...
Spring+quartz 一个简单的 定时任务的例子,希望能对大家的学习有帮助。 最后,附:cronExpression配置说明 字段 允许值 允许的特殊字符 秒 0-59 , - * / 分 0-59 , - * / 小时 0-23 , - * / 日期 1-31 , - *...
本篇文章将详细介绍如何在Spring 3.x版本中配置和使用Quartz进行定时任务的实现。 首先,我们需要理解Spring与Quartz结合的基本原理。Spring通过其`JobDetail`和`Trigger`接口来与Quartz进行交互,`JobDetail`定义...