<bean id="emailCustomizeJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="emailCustomizeServiceImpl" />
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>emailCustomizeJob</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="emailCustomizeJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="emailCustomizeJob" />
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<!-- 每三分钟,触发一次。 -->
<value>0/3 * * * * ?</value>
</property>
</bean>
<!-- 启动定时任务 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="applicationContextSchedulerContextKey" value="applicationContextKey" />
<property name="configLocation" value="classpath:quartz.properties" />
<property name="globalTriggerListeners">
<list>
<ref bean="globleLogListener" />
</list>
</property>
<property name="triggers">
<list>
<!-- 邮件定制通知作业 -->
<ref bean="emailCustomizeJobTrigger"/>
</list>
</property>
</bean>
SchedulerFactoryBean 为返回的为Scheduler
以上quartz保存在数据库中。
org.quartz.scheduler.instanceName = quartzScheduler
org.quartz.scheduler.rmi.export = false
org.quartz.scheduler.rmi.proxy = false
org.quartz.scheduler.wrapJobExecutionInUserTransaction = false
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 10
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
org.quartz.jobStore.misfireThreshold = 60000
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.implbcjobstore.StdJDBCDelegate
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
#org.quartz.jobStore.useProperties = true
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = false
org.quartz.jobStore.maxMisfiresToHandleAtATime=1
以上是quartz结合spring的简单应用。
分享到:
相关推荐
Spring对Quartz进行了集成,使其更易于在Spring应用程序中使用。Spring提供了`FactoryBean`类,如`SchedulerFactoryBean`,用于创建和管理Quartz的`Scheduler`实例。这使得我们可以利用Spring的依赖注入(DI)和管理...
Quartz和Spring-Quartz是两个在Java世界中广泛使用的定时任务管理框架。Quartz是一个开源的作业调度框架,允许应用程序定义和调度任务在特定时间执行。而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring...
在Spring中,我们可以使用Spring的`@Component`注解标记Job类,并通过`@Autowired`注入需要的服务,实现任务的业务逻辑。 整合Quartz与Spring的关键在于配置。首先,在Spring的配置文件中,我们需要定义一个`...
为了与Spring集成,通常我们会使用`org.springframework.scheduling.quartz.JobDetailBean`来定义Job,并将其与Spring的bean关联。这样,当你触发Job时,Spring会自动创建Job的实例并调用execute方法。 ```xml ...
将Quartz与Spring Data结合,可以方便地在Spring应用中进行复杂的任务调度。 在Quartz集群中,多个Quartz实例可以协同工作,提高任务调度的可用性和容错性。当一个节点失败时,其他节点能够接管其任务,确保业务...
Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...
而Spring框架则提供了丰富的依赖注入和管理功能,使得集成Quartz变得更加简单。 Quartz的核心概念包括作业(Job)、触发器(Trigger)和调度器(Scheduler)。作业是需要执行的任务,触发器定义了任务何时执行,...
在Spring中,通常会使用`org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean`来包装一个带有@Scheduled注解的方法。 5. **Cron表达式** CronTrigger允许使用Cron表达式来定义触发时间,如...
Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现复杂的时间调度任务。它允许开发者定义定时任务并将...通过学习这个 demo,开发者可以掌握在企业级应用中使用 Quartz 和 Spring 进行定时任务调度的方法。
在这个"spring-quartz简单实例"中,我们将探讨如何在Spring环境下配置和使用Quartz。 首先,我们需要引入Quartz和Spring的依赖。在Maven项目中,这通常通过在pom.xml文件中添加以下依赖来完成: ```xml ...
本文将详细介绍如何在Spring环境中使用注解方式配置Quartz。 1. **引入依赖** 在项目中,你需要引入Quartz和Spring的相应依赖。在Maven的pom.xml文件中,添加以下依赖: ```xml <groupId>org.quartz-scheduler...
利用Spring的`@Component`注解将该类注册为bean,再使用Quartz的`@DisallowConcurrentExecution`(防止并发执行)和`@PersistJobDataAfterExecution`(持久化任务数据)注解,以及Spring的`@Scheduled`注解来定义...
如果使用的是Spring Boot,可以在`application.properties`或`application.yml`中配置Quartz,并通过`@EnableScheduling`注解启用定时任务支持。 8. **动态管理定时任务** Spring提供的`SchedulerFactoryBean`...
Spring 中的 Quartz 配置-Spring 定时器-...我们学习了 Quartz 的基本概念,了解了如何在 Spring 配置文件中定义 Quartz 的 bean,并了解了 Cron 表达式的使用。最后,我们总结了 Quartz 的优点,了解了它的强大功能。
Quartz提供了多种Trigger类型,如SimpleTrigger(简单触发器)、CronTrigger(基于cron表达式的时间触发器)等。 - 在Spring配置中,使用`<bean>`标签定义Trigger,并关联Job。 4. **启动Scheduler** - 在Spring...
例如,我们可以定义一个简单的 `MyJob` 类,继承自 `org.quartz.Job` 接口,并实现 `execute(JobExecutionContext context)` 方法。然后,在 `applicationContext.xml` 中创建对应的 `JobDetail`: ```xml ...
【Spring_QuartZDemo】是一个使用Spring框架集成Quartz定时任务的示例项目,它展示了如何在Java应用中利用Spring和Quartz实现任务调度。Quartz是Java领域一款功能强大的开源作业调度库,能够帮助开发者创建、调度和...
当Quartz与Spring框架结合使用时,可以充分利用Spring的依赖注入和管理特性,简化任务的配置和管理。Spring提供了一个`org.springframework.scheduling.quartz.SchedulerFactoryBean`,通过它可以在Spring应用上...
要使用Quartz与Spring结合,我们需要进行以下步骤: 1. **引入依赖**:在项目中添加Quartz和Spring的相关依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.springframework ...
下面将详细介绍如何进行Spring与Quartz的整合,以及使用JDBC存储的相关步骤。 1. **Spring与Quartz的整合** 首先,我们需要在项目中引入Spring和Quartz的相关依赖。在Maven或Gradle的pom.xml或build.gradle文件中...