- 浏览: 94717 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
easonfans:
woweipingzui 写道和2楼一样的错...该怎么解决不 ...
JSP+Struts2+JFreeChart显示图表+鼠标事件 -
woweipingzui:
和2楼一样的错...该怎么解决
JSP+Struts2+JFreeChart显示图表+鼠标事件 -
kookaisen:
求帮忙啊,我现在遇到这个问题,试了许多种方法,还是不能解决啊~ ...
RPC Fault faultString="Send failed" faultCode="Client.Error.MessageSend" -
iceglove:
"把他拷贝到eclipse或者通过后台输出,就能看到 ...
javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Illegal character ((C -
java小书童:
:(:(:(
深入浅出基于Java的责任链模式
最近项目要实现一个定时批量提交数据的功能,采用Spring的Quarts的技术来实现。
以下是使用实例:
首先:
编写自己的Service类和方法,这些省略咯。。主要讲怎么使用Quarts:
package com.wonders.hs.registration.healthevent.front.quartz; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Logger; import javax.xml.datatype.DatatypeConfigurationException; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; import com.wonders.hs.registration.healthevent.front.service.HealthEventFrontService; public class QuartzJobFront extends QuartzJobBean { private HealthEventFrontService healthEventFrontService; private Logger log = Logger.getAnonymousLogger(); @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); log.info("我是用quartz定时器打印出来的"+format.format(new Date())); try { long start = System.nanoTime(); //批量注册前置表数据 healthEventFrontService.registHealthEventFront(); long end = System.nanoTime(); log.info("总耗时:" + (end-start)/1000000000.0000); } catch (DatatypeConfigurationException e) { e.printStackTrace(); } } public void setHealthEventFrontService( HealthEventFrontService healthEventFrontService) { this.healthEventFrontService = healthEventFrontService; } }
在spring的配置文件中配置相关的Quarts信息:
<?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" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd "> <!-- =================================================================== --> <!-- Context Define --> <!-- =================================================================== --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:hibernate.properties</value> </list> </property> </bean> <!-- =================================================================== --> <!-- Data Source Define (jdbc & jndi) --> <!-- =================================================================== --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${hibernate.connection.driver_class}" /> <property name="url" value="${hibernate.connection.url}" /> <property name="username" value="${hibernate.connection.username}" /> <property name="password" value="${hibernate.connection.password}" /> <property name="maxActive" value="100"/> <property name="maxWait" value="60000"/> <property name="maxIdle" value="10"/> </bean> <!-- JNDI Configuration --> <!--<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:jdbc/healthevent_front"/> </bean>--> <!-- =================================================================== --> <!-- SessionFactory(For Hibernate)/ManagerFactory(For JPA) Define --> <!-- ONLY ONE OF THEM SHOULD BE USED --> <!-- =================================================================== --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mappingDirectoryLocations"> <list> <value>classpath:/com/wonders/hs/registration/healthevent/front/</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">false</prop> <!-- <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.cache.use_query_cache">true</prop> --> </props> </property> </bean> <!-- =================================================================== --> <!-- Transaction Define --> <!-- =================================================================== --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="add*" propagation="REQUIRED"/> <tx:method name="remove*" propagation="REQUIRED"/> <tx:method name="del*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="edit*" propagation="REQUIRED"/> <tx:method name="get*" propagation="SUPPORTS" read-only="true"/> <tx:method name="find*" propagation="SUPPORTS" read-only="true"/> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="serviceMethods" expression="execution(* com.wonders.hs.registration.healthevent.front.*.service.*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods"/> </aop:config> <jaxws:client id="eventClient" serviceClass="com.wonders.hs.registration.healthevent.ws.register.HealthEventRegistrationPortType" address="http://10.1.25.168:8081/healthevent/EventRegister" /> <!--DAO--> <bean id="healthEventFrontDao" class="com.wonders.hs.registration.healthevent.front.dao.HealthEventFrontDao"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!--Service--> <bean id="healthEventFrontService" class="com.wonders.hs.registration.healthevent.front.service.impl.HealthEventFrontServiceImpl"> <property name="healthEventFrontDao" ref="healthEventFrontDao"></property> <property name="port" ref="eventClient"></property> </bean> <!-- Quartz Job 定时操作 开始 --> <bean id="quartzJobFront" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="com.wonders.hs.registration.healthevent.front.quartz.QuartzJobFront"/> <property name="jobDataAsMap"> <map> <entry key="healthEventFrontService"> <ref bean="healthEventFrontService"/> </entry> </map> </property> </bean> <bean id="cronEmailTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="quartzJobFront"/> <!--<property name="cronExpression" value="0 4 17 ? * *" />--> <property name="cronExpression" value="2 * * * * ?" /> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronEmailTrigger"/> </list> </property> </bean> <!-- Quartz Job 定时操作 结束 --> </beans>
其中<!-- Quartz Job 定时操作 开始 -->之后的代码是配置Quartz Job 定时操作的,嘿嘿。。
这样万事俱备,搞定啦。。。
另外,定时的时间设置貌似有点复杂,这里一并把他贴出来。。
附表 CronTrigger Expression( 来自http://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html) Expression Meaning "0 0 12 * * ?" Fire at 12pm (noon) every day "0 15 10 ? * *" Fire at 10:15am every day "0 15 10 * * ?" Fire at 10:15am every day "0 15 10 * * ? *" Fire at 10:15am every day "0 15 10 * * ? 2005" Fire at 10:15am every day during the year 2005 "0 * 14 * * ?" Fire every minute starting at 2pm and ending at 2:59pm, every day "0 0/5 14 * * ?" Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day "0 0/5 14,18 * * ?" Fire every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5 minutes starting at 6pm and ending at 6:55pm, every day "0 0-5 14 * * ?" Fire every minute starting at 2pm and ending at 2:05pm, every day "0 10,44 14 ? 3 WED" Fire at 2:10pm and at 2:44pm every Wednesday in the month of March. "0 15 10 ? * MON-FRI" Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday "0 15 10 15 * ?" Fire at 10:15am on the 15th day of every month "0 15 10 L * ?" Fire at 10:15am on the last day of every month "0 15 10 ? * 6L" Fire at 10:15am on the last Friday of every month "0 15 10 ? * 6L" Fire at 10:15am on the last Friday of every month "0 15 10 ? * 6L 2002-2005" Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005 "0 15 10 ? * 6#3" Fire at 10:15am on the third Friday of every month
顺便上传quarts的包和一个相关的spring的包。。。。
另外,这篇别人写的讲Quartz在Spring中集群 的,http://www.iteye.com/topic/486055,大家可以看看!
=========================================================================
看完文章,请到 “品润茶业”购买 茶叶茶具和零食,切记哦!
地址: http://prtea.taobao.com
=========================================================================
- quartz.jar (381.4 KB)
- 下载次数: 19
- org.springframework.context.support-3.0.4.RELEASE.jar (98.5 KB)
- 下载次数: 15
发表评论
-
sitemesh定义多个装饰器
2011-10-28 15:08 3100在decorators.xml中定义多个装饰器,每个装饰器 ... -
项目连接两个数据库
2011-08-23 16:43 727写两个hibernate配置文件,一个是“hibernate. ... -
spring学习----spring注解实现AOP
2011-08-23 15:27 1137Spring----- 注解方法使用 AOP ... -
SiteMesh教程
2011-03-15 10:24 914sitemesh 应用Decorator模式,用fi ... -
struts 2 Spring Hibernate 的jar包官网下载地址
2011-03-11 10:04 2324官网的英文网站读起来有点费劲,把下载地址直接放到这儿,以后免得 ... -
深入浅出复合事件处理(CEP)
2011-03-01 14:43 1510深入浅出复合事件处理(CEP) 一个很好的ppt。。教学模式 ... -
java.io.IOException: JZ0SL: Unsupported SQL type 1111.
2011-02-24 17:30 42622011-02-24 13:17:06,217 I ... -
javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Illegal character ((C
2011-02-24 17:04 22420今天项目中调用webservice调用方法批量提交 ... -
精:Berkeley DB XML入门详解
2010-11-16 10:56 2007Berkeley DB XML入门 一、Berkeley DB ...
相关推荐
至此,我们就成功地在Spring中配置并使用了Quartz服务进行定时任务的执行。 总结起来,Quartz在Spring中的使用主要涉及以下步骤: 1. 添加Quartz和Spring相关依赖。 2. 创建Quartz配置类,初始化Scheduler。 3. ...
总的来说,"spring-quarts_quartus_springboot_"项目提供了一个实用的示例,展示了如何在Spring Boot应用中利用Quartz实现定时任务功能,这对于需要定期执行某些操作的应用场景(如数据同步、报表生成、清理任务等)...
在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中...通过以上步骤,你就可以在Spring中成功配置并使用Quartz进行任务调度了。注意,实际应用中还需要根据具体需求调整配置和Job的实现。
以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...
Quartz是Java领域的一款强大的任务调度框架,常用于在企业级应用中实现定时任务的管理。这个"quarts使用例子"应该包含了一些关于如何在Quartz中配置、创建和执行任务的示例代码。让我们深入了解一下Quartz的核心概念...
这是quarts使用过程中要用到的各种包
标题 "基于 springboot+mybatis_+shiro + redis+activiti+quarts+quart.zip" 提供了一个关于综合应用多个技术栈...对于学习和理解这些技术如何协同工作,以及在实际项目中的应用,这个压缩包文件提供了一个很好的实例。
【标题】"基于 springboot+mybatis_+shiro + redis+activiti+quarts+quart76.zip" 涵盖了多个关键的技术栈,这些技术在现代企业级应用开发中扮演着重要角色。下面将分别详细介绍这些技术及其在实际应用中的作用。 *...
在使用 Quartus II 进行 FPGA 设计之前,首先需要创建一个新的项目。创建项目的步骤如下: 1. **启动 Quartus II**:打开 Quartus II 软件。 2. **新建项目向导**:通过菜单栏中的 `File -> New Project Wizard` 来...
定时任务月末统计考勤状况 等功能 前端页面出致于:若依管理系统(https://github.com/WuJunJie521/RuoYiu) ##### 在线体验 地址:<http://106.14.226.138:8880/OA/> 管理员 账号:admin 密码:admin 领导...
定时调度框架quarts的JAR包,很好用
在提供的压缩包文件"quarts1"中,可能包含了示例代码或者配置文件,这些资源可以帮助进一步理解并实践上述的Quartz使用方式。学习和掌握Quartz能够让你在开发需要定时任务的应用时更加得心应手,无论是数据备份、...
A/D 接口在数字电路设计中非常重要,广泛应用于数据采集、信号处理等领域。 六、信号发生器 信号发生器是一种数字电路,用于产生不同的信号波形,例如递增斜波、三角波等。信号发生器在数字电路设计中非常重要,...
【描述】"Quarts实例程序" 暗示我们将会看到一个或多个在Quarts环境下运行的实际程序或者设计案例。这些实例可能包括任务调度、中断处理、设备驱动等基本RTOS功能的实现,也可能包含特定于VHDL或Verilog的硬件加速器...
- **应用服务器集成**:能够在应用服务器或Servlet容器中实例化,并支持参与XA事务处理。 - **远程访问**:可以独立运行并通过RMI进行访问。 - **集群支持**:支持实例化为具有负载均衡和容错能力的集群。 - **高级...
在嵌入式系统设计中,蜂鸣器是一种常见的输出设备,用于发出声音信号,通常在硬件调试或者用户交互时使用。在本例程中,我们将关注如何使用Altera的Cyclone 1开发板来实现一个蜂鸣器控制的程序。Altera Quartus II是...
本文件为mif 文件生成工具 。1.支持常见波形(正弦波,方波波,梯形波,锯齿波,三角波)生成mif文件。2.支持图像生成mif文件。(支持任意格式和大小的图片文件)。3.如有定制需求(承接广告推广),可以联系我。