0 0

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个答案 按时间排序 按投票排序

0 0

<?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启动执行一次

    ### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...

    Spring Quartz定时作业

    本项目提供了一套完整的Spring Quartz定时作业的实现,包括任务、触发器和调度的配置文件,只需将这些资源部署到Tomcat服务器上即可运行。 1. **Spring Quartz简介** Spring Quartz是基于开源Quartz Scheduler的一...

    spring+quartz+maven项目实例

    1. **Java程序运行**:这种方式下,项目被编译为可执行的Java应用程序,通过main方法启动。在启动时,可以通过命令行参数指定要加载的配置文件,这样可以灵活地适应不同的环境需求。 2. **Tomcat下运行**:当项目被...

    spring2与quartz在Web整合

    通过查看源码,我们可以学习如何配置 Spring 和 Quartz,如何定义 Job 和 Trigger,以及如何在 Tomcat 下部署和运行应用。 7. **最佳实践**:为了优化性能和可维护性,推荐将 Quartz 的配置和作业定义分离,使得...

    spring quartz简单例子

    这个“spring quartz简单例子”是一个实际的项目示例,它展示了如何在Spring框架中集成Quartz库,以便在Tomcat服务器上运行并观察任务执行的效果。下面将详细解释这个例子中的关键知识点。 1. **Spring框架**:...

    quartz在tomcat下配置使用

    在Java Web应用中,特别是在Tomcat这样的应用服务器中,Quartz能够帮助我们实现后台任务的自动化执行,比如定期数据备份、清理缓存等。这篇博客将探讨如何在Tomcat环境下配置和使用Quartz。 首先,我们需要理解...

    quartz spring动态定时任务,可以直接在tomcat上面部署运行

    Quartz是一个开源的作业调度框架,而Spring框架则为Java应用程序提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,将两者结合,可以在Spring管理的bean中无缝集成定时任务。 Quartz的核心概念包括Job、...

    Spring-quartz-demo Spring4.1.6 + quartz2.2.1

    本项目来源与网络,本人对项目...直接通过mvn 倒入项目,在Spring-quartz-demo\src\main\webapp\sql 有sql 建立数据库,表 启动tomcat 直接访问http://localhost:8080/Spring-quartz-demo/task/taskList.htm 就可以使用

    Spring Quartz 调度器

    最后,在Spring启动时,SchedulerFactoryBean会根据配置自动启动Quartz调度器,并根据配置的Trigger安排Job执行。 在QuartzTaskPro2010-4-19这个项目中,可能包含了相关的代码示例、配置文件以及运行脚本,可以帮助...

    spring boot + quartz 动态管理 分布式

    在IT行业中,Spring Boot和Quartz是两个非常重要的框架,它们在企业级应用开发中扮演着关键角色。Spring Boot简化了Spring应用的初始搭建以及开发过程,提供了开箱即用的功能,而Quartz则是一个强大的任务调度库,常...

    Spring Quartz Job 集群 终极解决方案

    一台服务器挂了,另一台还能继续执行job,通过网上查找资料,都是java工程的方式,不好部署并测试,经过二天辛苦整合,终于整理成一个单spring web方式的工程,连接oracle数据库用tomcat即可完美运行.希望能帮到大家...

    quartz1.86+spring3.2测试实例

    在Eclipse中,你可以将这个压缩包解压后导入为Dynamic Web Project,然后配置Tomcat服务器运行。如果项目包含了`MainTest`类,这可能是一个主测试类,用于启动和测试整个应用的运行情况。 总结起来,"quartz1.86+...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    4. **部署与测试**:项目部署在Tomcat服务器上,当服务器启动时,Quartz会自动加载数据库中的定时任务。通过监控日志或者定制的监控界面,可以观察到定时任务的执行情况,验证其是否按照预期工作。 5. **Spring的...

    Quartz与Spring2.0整合Eclipse例程

    此外,还需要为项目添加对Eclipse的Java EE支持,以便能够使用Tomcat或其他Servlet容器进行部署。 在Spring配置文件(如`applicationContext.xml`)中,你需要配置一个`SchedulerFactoryBean`,这是Spring提供的...

    spring定时任务执行两次及tomcat部署缓慢问题的解决方法

    Spring 定时任务执行两次及 Tomcat 部署缓慢问题的解决方法 Spring 定时器执行两次问题重现和解析 在使用 Quartz 定时任务框架时,可能会出现定时任务执行两次的问题。这个问题可能会在开发环境中没有出现,但是...

    Spring2.5+Quartz定时任务简单例子web工程

    Spring 2.5 和 Quartz 是两个在 Java 开发中广泛使用的框架,它们分别负责不同的功能。Spring 是一个全面的企业级应用开发框架,提供依赖注入、面向切面编程、数据访问、事务管理等核心功能。而 Quartz 是一个开源的...

    spring--quartz的定时调度的maven部署

    或者,如果是在服务器上部署,可以将项目部署到Tomcat或其他Servlet容器中,让容器启动时自动启动Quartz调度器。 总结来说,通过Spring与Quartz的集成,我们可以方便地创建和管理定时任务。使用Maven进行部署,可以...

    schedule-job, 基于Spring Boot Quartz 的分布式任务调度系统.zip

    本项目名为“schedule-job”,是基于Spring Boot框架与Quartz库构建的分布式任务调度系统,它允许开发者方便地定义、管理和执行定时任务。 【Spring Boot基础知识】 Spring Boot是由Pivotal团队提供的全新框架,其...

    一个简单的quartz、spring集成版helloWorld示例演示

    启动Tomcat服务器后,定时任务将会按照设定的规则运行。 总的来说,这个示例演示了如何在Spring中集成Quartz,创建一个简单的定时任务,它每分钟的6秒倍数在控制台上打印"helloWorld"。这个过程涉及到了Spring的...

    springboot入门实例可运行在tomcat6容器

    另外,描述还指出 "可运行在外部tomcat6不用手动执行Application",这意味着应用的启动和部署是自动化进行的,无需手动启动 Application 类。SpringBoot 提供了 spring-boot-maven-plugin 或者 spring-boot-gradle-...

Global site tag (gtag.js) - Google Analytics