当你新建web项目,配置好SSH环境后如要使用调度,先需要导入quartz-all-1.6.1.jar.这里的Demo是发短信:
首先,配置好applicationContext.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@***.***.***.***:**" />
<property name="username" value="***" />
<property name="password" value="***" />
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</prop>
</props>
</property>
<property name="mappingDirectoryLocations">
<list>
<value>classpath*:/com/*/model</value>
</list>
</property>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 配置事务传播特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="do*" propagation="REQUIRED" />
<tx:method name="*" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- 哪些类的哪些方法参与事务 -->
<aop:config>
<aop:pointcut id="allManagerMethod"
expression="execution(* com.*.service.*.*(..))" />
<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice" />
</aop:config>
<!-- dao模板(所有dao都将使用此模板) -->
<bean id="daoTemplate" abstract="true">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<import resource="applicationContext-dao.xml" />
<import resource="applicationContext-service.xml" />
<import resource="applicationContext-action.xml" />
<import resource="applicationContext-quartz.xml" />
<import resource="applicationContext-webservice.xml" />
</beans>
其次,接下来就是applicationContext-quartz.xml,调度配置文件:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 配置需要定时执行的Spring bean -->
<bean id="sendMMSScheduler" class="com.lx100ERP.schedule.SendMMSScheduler">
<property name="purOrderService" ref="purOrderService"></property>
</bean>
<!-- 配置quartz的任务,指定该任务执行哪一个bean的哪一个方法 -->
<bean id="sendMMSByDayFactory"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 要调用的类 -->
<property name="targetObject" ref="sendMMSScheduler" />
<!-- 要调用的方法 -->
<property name="targetMethod" value="sendMMS" />
</bean>
<!-- 配置quartz的触发器,指定该触发器触发的条件,以及该触发器加载哪些job -->
<bean id="sendMMSByDayCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="sendMMSByDayFactory" />
</property>
<!-- cron 表达式(秒,分,时,日,月,周):每隔10分钟执行一次 -->
<property name="cronExpression" value="0 */1 0-23 * * ?" />
</bean>
<!-- 配置quartz调度,指定加载哪些触发器 -->
<bean id="scheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 这里一定要放开,否则不会调成功-->
<ref local="sendMMSByDayCronTrigger" />
</list>
</property>
</bean>
</beans>
接下来,就是具体调度实现的方法了:
/**
* 短信下发调度
*
*/
public class SendMMSScheduler {
private PurchaseOrderService purOrderService;
public void sendMMS() {
//TODO
//具体方法
}
public void setPurOrderService(PurchaseOrderService purOrderService) {
this.purOrderService = purOrderService;
}
}
好了,一个调度这就行了,很简单的。关于cron表达式,可以看一下本人的这篇文章
cron表达式,
不足之处请多多指教!
分享到:
相关推荐
根据提供的文件信息,我们可以深入探讨Spring框架中的时间调度配置及其应用。Spring框架为开发者提供了强大的时间任务调度功能,尤其在企业级应用中极为常见。本文将详细介绍如何利用Spring进行时间调度配置,包括...
《Spring任务调度配置详解:Spring+Quartz的整合应用》 在Java开发中,任务调度是不可或缺的一部分,Spring框架提供了与Quartz集成的能力,使得我们可以方便地管理和执行定时任务。本文将详细介绍如何通过Spring和...
本篇文章将深入探讨Spring调度的使用,包括核心概念、配置方式以及源码解析。 1. **Spring调度核心组件** Spring调度主要由两个关键组件构成:`TaskScheduler`和`ThreadPoolTaskScheduler`。`TaskScheduler`是...
- **Spring与Quartz集成**:Spring通过`org.springframework.scheduling.quartz`包提供了一种无缝的集成方式,可以方便地在Spring容器中配置和管理Quartz Job和Trigger。 - **Job和Trigger**:在Quartz中,Job是...
- **配置Spring**:在Spring的配置文件中,我们需要声明一个`SchedulerFactoryBean`,它负责创建和管理Quartz的`Scheduler`实例。例如: ```xml <bean id="scheduler" class="org.springframework.scheduling....
7. **调整调度配置** 你可以通过`@ConfigurationProperties`注解的`TaskProperties`类来调整任务调度的配置,例如线程池大小、任务超时等。 8. **监听任务事件** Spring提供了`TaskExecutionListener`和`...
Quartz + spring简单配置多个任务调度 spring配置文件 简单配置
要使用Spring的内置任务调度,我们需要在配置中启用`TaskExecutor`和`TaskScheduler`。在XML配置中,可以添加如下配置: ```xml <bean id="taskExecutor" class="org.springframework.scheduling.concurrent....
这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将深入探讨Spring的定时调度机制以及其核心组件。 Spring的定时任务调度主要依赖于两个关键组件:`Task...
二、配置Spring调度器 在Spring应用中配置调度器,你需要创建一个`TaskConfiguration`类,使用`@EnableScheduling`注解开启定时任务调度。同时,可以自定义`TaskExecutor`和`TaskScheduler`,例如使用`...
spring中的任务调度器配置方法 spring中的任务调度器配置方法 spring中的任务调度器配置方法
本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...
Spring框架提供了强大的任务调度能力,使得开发者能够轻松地集成和管理定时任务。本资料“Spring实现任务调度”将深入探讨如何在Spring中设置和管理定时任务。 首先,我们需要理解Spring中的任务调度机制。Spring...
Spring框架中的调度器,全称为Spring Task或者Spring Batch,是一个强大的任务调度和执行系统,它允许开发者在应用...通过合理配置和设计,我们可以利用Spring调度器来实现复杂的应用场景,提高系统的响应速度和效率。
这个过程涉及到设置DispatcherServlet,它作为Spring MVC的核心组件,负责调度HTTP请求到相应的控制器。以下将详细阐述Spring MVC配置请求的默认处理器的相关知识点。 1. **DispatcherServlet的作用** ...
3. **调度器配置**:`SchedulerFactoryBean`是Spring对Quartz调度器的包装,它管理所有的触发器和任务。在这里,我们将`cron`触发器添加到调度器中,使得任务与触发器关联起来。 接下来,我们看下服务类和服务的...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
在配置类上添加`@EnableScheduling`注解启用定时任务调度: ```java @Configuration @EnableScheduling public class TaskConfig { @Bean public MyTask myTask() { return new MyTask(); } } class MyTask {...
Spring 整合任务调度框架 Quartz ...Spring 整合任务调度框架 Quartz,可以使用配置文件方式或 Quartz 持久化方式来实现任务调度。开发者可以根据实际情况选择合适的方式,从而提高软件系统的自动化和可靠性。
Spring提供了声明式事务管理、依赖注入、数据访问抽象、Web MVC框架、任务调度等众多功能。Spring的轻量级特性体现在它不强制使用特定的应用服务器,也不强依赖于J2EE的全部功能,而是通过模块化的结构,让开发者...