quartz 在spring 中配置服务 定时执行和循环执行事件

quartz 可以在spring中配置 定时执行和循环执行事件、

操作数据库需要用到spring事务和接口,

 

 

 

 

 

 

 <!--配置事务管理 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
       <property name="sessionFactory">
           <ref bean="sessionFactory" />
       </property>
    </bean>
   
    <!--定义事务代理模板 -->
    <bean id="txProxyTemplate" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
       <property name="transactionManager">
           <ref bean="transactionManager" />
       </property>
       <property name="transactionAttributes">
           <props>
              <prop key="insert*">PROPAGATION_REQUIRED</prop>
              <prop key="update*">PROPAGATION_REQUIRED</prop>
              <prop key="delete*">PROPAGATION_REQUIRED</prop>
              <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
               <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
           </props>
       </property>
    </bean>
  
  
  
  <!-- 配置服务   定时执行 ********************************************************** begin -->
   <!--无数据库操作定时的类 (注入格式)
 <bean id="getWeather" class="com.linli.domain.service.impl.WeatherService">
 </bean>
 
 -->
 

 <!-- 有数据库操作定时类(注入格式)  -->
 <bean id="getHTML" parent="txProxyTemplate">
  <property name="target">
   <bean class="com.shenzhan.pro.util.GetStaticHTML"> <!-- 接口实现的类 -->
    <property name="sessionFactory">
     <ref bean="sessionFactory"/>
    </property>
   </bean>
  </property>
 </bean>
 
 <!--  配置调用哪些注入和方法   -->
 <bean id="methodInvokingJobDetail"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 <!--   <property name="targetObject" ref="timerManager" />    这个是有数据库的方法-->
  <property name="targetObject" ref="getHTML" /><!-- 类的ID -->
  <property name="targetMethod" value="getstatichtml" />   <!-- 要执行类里面的哪个方法 -->
   <property name="concurrent" value="false" />
   
 </bean>
 
 
 <!-- 简单定时,一般为系统运行后多少时间和每间隔多长时间执行(简单的定时) -->
 <bean id="simpleTriggerqili"
  class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  <!-- 配置的需要定时的类   -->
  <property name="jobDetail" ref="methodInvokingJobDetail" />
  <!-- 首次执行等待时间1s  -->
  <property name="startDelay" value="120000" />  <!-- 2分钟后执行 -->  
   <!-- 每隔多久执行一次60s  -->
         <property name="repeatInterval" value="3000" />  <!--    4小时执行一次天气更新 -->
 <!-- <property name="repeatInterval" value="14400000" />   10分钟 测试 执行一次天气更新 -->
 </bean>
 
 
 <!-- 自定义定时,可以精确到某年某月某天某时某分某秒(精确定时器)
 <bean id="cronTrigger"
  class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="methodInvokingJobDetail" />
  <property name="cronExpression" value="0 38,40 * * * ?" />
 </bean>
  -->
 
  <!-- lazy-init="false" 服务器启动自动执行该定时器,不需要再另写Servlet来启动  -->
 <bean id="quartzCronBean"
  class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
  <property name="triggers">
   <list>
    <ref bean="simpleTriggerqili"/>  <!-- 定时器 -->
   <!--  <ref bean="cronTrigger" />  使用精确定时器 --> 
   </list>
  </property>
 </bean>
     <!-- 配置服务   定时执行 *************************************************************** end-->

 

 

 

例子下载地址: http://download.csdn.net/source/1910076

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值