Quartz框架在Spring容器中使用

示例如下 :

applicationContext.xml文件的匹配如下 :

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans
 3     xmlns="http://www.springframework.org/schema/beans"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xmlns:p="http://www.springframework.org/schema/p"
 6     xmlns:aop="http://www.springframework.org/schema/aop"
 7     xmlns:tx="http://www.springframework.org/schema/tx"
 8     xsi:schemaLocation="http://www.springframework.org/schema/beans 
 9                         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
10                         http://www.springframework.org/schema/aop
11                          http://www.springframework.org/schema/aop/spring-aop.xsd
12                          http://www.springframework.org/schema/tx
13                          http://www.springframework.org/schema/tx/spring-tx.xsd">
14 
15 
16     <bean id="sessionFactory"
17         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
18         <property name="configLocation"
19             value="classpath:hibernate.cfg.xml">
20         </property>
21     </bean>
22     
23     <!-- 定义环绕增强bean -->
24     <bean id="aroundAdvice" class="cn.bd.jboa.advice.AroundAdviceLogger"></bean>
25     
26     <!-- 定义事务管理器 -->
27     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
28         <property name="sessionFactory" ref="sessionFactory"></property>
29     </bean>
30     
31     <!-- 定义事务增强 -->
32     <tx:advice id="txAdvice" transaction-manager="transactionManager">
33         <tx:attributes> <!-- 定义事务规则 -->
34             <tx:method name="login*" read-only="true"/>
35             <tx:method name="find*" read-only="true"/>
36             <tx:method name="search*" read-only="true"/>
37             <tx:method name="query*" read-only="true"/>
38             <tx:method name="save*" propagation="REQUIRED"/>
39             <tx:method name="add*" propagation="REQUIRED"/>
40             <tx:method name="merge*" propagation="REQUIRED"/>
41             <tx:method name="delete*" propagation="REQUIRED"/>
42             <tx:method name="del*" propagation="REQUIRED"/>
43             <tx:method name="update*" propagation="REQUIRED"/>
44             <tx:method name="do*" propagation="REQUIRED"/>
45             <tx:method name="check*" propagation="REQUIRED"/>
46             <tx:method name="*" propagation="REQUIRED" read-only="true"/>
47         </tx:attributes>
48     </tx:advice>
49     
50     <!-- 定义切面 -->
51     <aop:config>
52         <!-- 定义切入点 -->
53         <aop:pointcut expression="execution(* cn.bd.jboa.service.impl.*.*(..))" id="pointcut"/>
54         <!-- 将事务增强与切入点组合 -->
55         <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>
56         
57         <aop:advisor advice-ref="aroundAdvice" pointcut-ref="pointcut"/> <!-- 将环绕增强和切入点组合 -->
58     </aop:config>
59     
60     
61     <!-- 配置提醒服务类bean,用来指定执行什么操作 -->
62     <bean id="timingSave" class="cn.bd.jboa.action.TimingSaveAction"></bean>
63     
64     <!-- 配置MethodInvokingJobDetailFactoryBean -->
65     <bean name="jobDetailFactory" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
66         <!-- 配置要调用的类 -->
67         <property name="targetObject" ref="timingSave"></property>
68         <!-- 配置要调用的方法 -->
69         <property name="targetMethod" value="saveBizClaimVoucher"></property>
70     </bean>
71     
72     <!-- 配置触发器 -->
73     <bean name="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
74         <!-- 配置JobDetail -->
75         <property name="jobDetail" ref="jobDetailFactory"></property>
76         <!-- 配置Cron表达式 -->
77         <property name="cronExpression" value="1 * * 15 * ?"></property>
78     </bean>
79     
80     <!-- 配置调试器 -->
81     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
82       <property name="triggers">
83           <list>
84               <!-- 指定触发器 -->
85               <ref bean="myTrigger"/>
86               <!-- 可以在这里添加更多其他的触发器 -->
87           </list>
88       </property>
89      </bean>
90     
91 </beans>
 1 package cn.bd.jboa.action;
 2 
 3 import com.opensymphony.xwork2.ActionSupport;
 4 
 5 /**
 6  * 
 7  * @author TaoXianXue
 8  *
 9  */
10 public class TimingSaveAction extends ActionSupport{
11     
12     /**
13      * 
14      */
15     private static final long serialVersionUID = 1L;
16     
17     
18     /**
19      * 可以在这里编写你要执行什么的操作
20      */
21     public void saveBizClaimVoucher(){
22         
23     }
24     
25 }

 

posted @ 2017-06-04 02:19  写最少的代码  阅读(232)  评论(0编辑  收藏  举报