-
spring quartz为什么tomcat启动后没有马上执行0
我用的是 spring3.4+quartz2.2.0
这是quartz.xml配置<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 启动触发器的配置开始 --> <bean name="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="myJobTrigger" /> </list> </property> </bean> <!-- 启动触发器的配置结束 --> <!-- 调度的配置开始 --> <!-- quartz-1.8以前的配置 <bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="myJobDetail" /> </property> <property name="cronExpression"> <value>0/1 * * * * ?</value> </property> </bean> --> <!-- quartz-2.x的配置 --> <bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="myJobDetail" /> </property> <property name="cronExpression"> <!-- 表达式 生成 网址 http://www.becron.com/ --> <!-- 每隔5秒执行一次:*/5 * * * * ? --> <!-- 每十秒 执行一次:0/10 * * * * ? --> <!-- 每五分钟:0 0/5 * * * ? --> <!-- 每分钟执行一次:0 0/1 * * * ? --> <!-- 每两分钟执行一次 :0 0/2 * * * ? --> <!--0 0/15 * * * ?每隔15分钟 --> <!--每隔30分钟执行一次:0 0/30 * * * ? --> <!-- 每隔小时执行一次:0 0 */1 * * ? --> <!-- 每隔两个小时执行一次:0 0/1 2,4,6,8,10,12,14,16,18,20,22,0 * * ? --> <value>0 0/30 * * * ?</value> </property> </bean> <!-- 调度的配置结束 --> <!-- job的配置开始 --> <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="myJob" /> </property> <property name="targetMethod"> <value>work</value> </property> <!--concurrent=false 表示 不做并发执行 一个任务未完成下一个任务等待上一个任务--> <property name="concurrent"> <value>false</value> </property> </bean> <!-- job的配置结束 --> <!-- <property name="startDelay" > <value>3000</value> </property> --> <!-- 工作的bean --> <bean id="myJob" class="com.ws.quartz.MyJob" /> </beans>
tomcat启动后没有马上执行 好像必须得等三十分钟才执行,我想让它tomcat启动马上执行一次 然后过三十分钟再执行一次 然后再一次类推
请问我哪里需要改?2014年3月12日 22:49
1个答案 按时间排序 按投票排序
-
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans default-lazy-init="false">
<!-- 等待同步任务 -->
<bean id="demoJob" class="cn.com.widgetdo.job.DemoJob"/>
<!-- 设置执行任务中的方法 -->
<bean id="synMethod"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="demoJob"></property>
<property name="targetMethod" value="call"></property>
<!-- 是否并行运行 -->
<property name="concurrent" value="false"></property>
</bean>
<!-- 触发器:定义触发规则 -->
<bean id="synJob"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref local="synMethod" />
</property>
<property name="startDelay">
<!-- 服务启动一分钟后执行 1*1000*60-->
<value>60000</value>
</property>
<property name="repeatInterval">
<!-- 每隔6秒执行一次 6*1000 -->
<value>6000</value>
</property>
</bean>
<!-- 容器:将触发器注册进来 -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<!-- 注册触发器(Trigger) -->
<list>
<!-- <ref bean="synJob"/> -->
</list>
</property>
<property name="quartzProperties">
<props>
<!-- 随机存储,非持久化 -->
<prop key="org.quartz.jobStore.class">
org.quartz.simpl.RAMJobStore
</prop>
<!-- 线程池 -->
<prop key="org.quartz.threadPool.class">
org.quartz.simpl.SimpleThreadPool
</prop>
<prop key="org.quartz.threadPool.threadCount">10</prop>
</props>
</property>
</bean>
</beans>2014年3月13日 13:27
相关推荐
### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...
本项目提供了一套完整的Spring Quartz定时作业的实现,包括任务、触发器和调度的配置文件,只需将这些资源部署到Tomcat服务器上即可运行。 1. **Spring Quartz简介** Spring Quartz是基于开源Quartz Scheduler的一...
1. **Java程序运行**:这种方式下,项目被编译为可执行的Java应用程序,通过main方法启动。在启动时,可以通过命令行参数指定要加载的配置文件,这样可以灵活地适应不同的环境需求。 2. **Tomcat下运行**:当项目被...
通过查看源码,我们可以学习如何配置 Spring 和 Quartz,如何定义 Job 和 Trigger,以及如何在 Tomcat 下部署和运行应用。 7. **最佳实践**:为了优化性能和可维护性,推荐将 Quartz 的配置和作业定义分离,使得...
这个“spring quartz简单例子”是一个实际的项目示例,它展示了如何在Spring框架中集成Quartz库,以便在Tomcat服务器上运行并观察任务执行的效果。下面将详细解释这个例子中的关键知识点。 1. **Spring框架**:...
在Java Web应用中,特别是在Tomcat这样的应用服务器中,Quartz能够帮助我们实现后台任务的自动化执行,比如定期数据备份、清理缓存等。这篇博客将探讨如何在Tomcat环境下配置和使用Quartz。 首先,我们需要理解...
Quartz是一个开源的作业调度框架,而Spring框架则为Java应用程序提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,将两者结合,可以在Spring管理的bean中无缝集成定时任务。 Quartz的核心概念包括Job、...
本项目来源与网络,本人对项目...直接通过mvn 倒入项目,在Spring-quartz-demo\src\main\webapp\sql 有sql 建立数据库,表 启动tomcat 直接访问http://localhost:8080/Spring-quartz-demo/task/taskList.htm 就可以使用
最后,在Spring启动时,SchedulerFactoryBean会根据配置自动启动Quartz调度器,并根据配置的Trigger安排Job执行。 在QuartzTaskPro2010-4-19这个项目中,可能包含了相关的代码示例、配置文件以及运行脚本,可以帮助...
在IT行业中,Spring Boot和Quartz是两个非常重要的框架,它们在企业级应用开发中扮演着关键角色。Spring Boot简化了Spring应用的初始搭建以及开发过程,提供了开箱即用的功能,而Quartz则是一个强大的任务调度库,常...
一台服务器挂了,另一台还能继续执行job,通过网上查找资料,都是java工程的方式,不好部署并测试,经过二天辛苦整合,终于整理成一个单spring web方式的工程,连接oracle数据库用tomcat即可完美运行.希望能帮到大家...
在Eclipse中,你可以将这个压缩包解压后导入为Dynamic Web Project,然后配置Tomcat服务器运行。如果项目包含了`MainTest`类,这可能是一个主测试类,用于启动和测试整个应用的运行情况。 总结起来,"quartz1.86+...
4. **部署与测试**:项目部署在Tomcat服务器上,当服务器启动时,Quartz会自动加载数据库中的定时任务。通过监控日志或者定制的监控界面,可以观察到定时任务的执行情况,验证其是否按照预期工作。 5. **Spring的...
此外,还需要为项目添加对Eclipse的Java EE支持,以便能够使用Tomcat或其他Servlet容器进行部署。 在Spring配置文件(如`applicationContext.xml`)中,你需要配置一个`SchedulerFactoryBean`,这是Spring提供的...
Spring 定时任务执行两次及 Tomcat 部署缓慢问题的解决方法 Spring 定时器执行两次问题重现和解析 在使用 Quartz 定时任务框架时,可能会出现定时任务执行两次的问题。这个问题可能会在开发环境中没有出现,但是...
Spring 2.5 和 Quartz 是两个在 Java 开发中广泛使用的框架,它们分别负责不同的功能。Spring 是一个全面的企业级应用开发框架,提供依赖注入、面向切面编程、数据访问、事务管理等核心功能。而 Quartz 是一个开源的...
或者,如果是在服务器上部署,可以将项目部署到Tomcat或其他Servlet容器中,让容器启动时自动启动Quartz调度器。 总结来说,通过Spring与Quartz的集成,我们可以方便地创建和管理定时任务。使用Maven进行部署,可以...
本项目名为“schedule-job”,是基于Spring Boot框架与Quartz库构建的分布式任务调度系统,它允许开发者方便地定义、管理和执行定时任务。 【Spring Boot基础知识】 Spring Boot是由Pivotal团队提供的全新框架,其...
启动Tomcat服务器后,定时任务将会按照设定的规则运行。 总的来说,这个示例演示了如何在Spring中集成Quartz,创建一个简单的定时任务,它每分钟的6秒倍数在控制台上打印"helloWorld"。这个过程涉及到了Spring的...
另外,描述还指出 "可运行在外部tomcat6不用手动执行Application",这意味着应用的启动和部署是自动化进行的,无需手动启动 Application 类。SpringBoot 提供了 spring-boot-maven-plugin 或者 spring-boot-gradle-...