需要准备的材料分别是:电脑、quartzdll。
1、通过一定途径获取到quartzdll,例如网上寻找并下载。
2、将quartzdll文件复制到“C:\Windows\System32”目录下。
3、点击“开始菜单”,选择“运行”,输入:regsvr32 quartzdll,点击确定。
4、此时会d出安装完成quartzdll文件的提示,点击确定。
RAM或主板出错。可以换一条内存试试,如果换内存条行不通的话,只能选择改换主板。
电脑开机时一直滴滴的响开不了机,此种情况为BIOS报警,你可以根据报警的声音特征来维修你的电脑。
如果Quartz单独正常而Structs1启动不起来,可能是Structs1的配置文件有误,或者Structs1的依赖组件有问题,建议检查Structs1的配置文件和依赖组件是否正确,以及是否有其他原因导致Structs1启动不起来。
你的两个定时任务启动时间是一致的,有可能是互相产生冲突影响了,试试在jobdetail配置中加上:
<property name="concurrent" value="true" />Spring定时任务的几种实现
博客分类:
spring框架
quartzspringspring-task定时任务注解
Spring定时任务的几种实现
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合
spring框架来介绍。
一.分类
从实现的技术上来分类,目前主要有三种技术(或者说有三种产品):
Java自带的javautilTimer类,这个类允许你调度一个javautilTimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。
使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,稍后会详细介绍。
Spring30以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,稍后会介绍。
从作业类的继承方式来讲,可以分为两类:
作业类需要继承自特定的作业类基类,如Quartz中需要继承自orgspringframeworkschedulingquartzQuartzJobBean;javautilTimer中需要继承自javautilTimerTask。
作业类即普通的java类,不需要继承自任何基类。
注:个人推荐使用第二种方式,因为这样所以的类都是普通类,不需要事先区别对待。
从任务调度的触发时机来分,这里主要是针对作业使用的触发器,主要有以下两种:
每隔指定时间则触发一次,在Quartz中对应的触发器为:orgspringframeworkschedulingquartzSimpleTriggerBean
每到指定时间则触发一次,在Quartz中对应的调度器为:orgspringframeworkschedulingquartzCronTriggerBean
注:并非每种任务都可以使用这两种触发器,如javautilTimerTask任务就只能使用第一种。Quartz和spring task都可以支持这两种触发条件。
二.用法说明
详细介绍每种任务调度工具的使用方式,包括Quartz和spring task两种。
Quartz
第一种,作业类继承自特定的基类:orgspringframeworkschedulingquartzQuartzJobBean。
第一步:定义作业类
Java代码
import orgquartzJobExecutionContext;
import orgquartzJobExecutionException;
import orgspringframeworkschedulingquartzQuartzJobBean;
public class Job1 extends QuartzJobBean {
private int timeout;
private static int i = 0;
//调度工厂实例化后,经过timeout时间开始执行调度
public void setTimeout(int timeout) {
thistimeout = timeout;
}
/
要调度的具体任务
/
@Override
protected void executeInternal(JobExecutionContext context)
throws JobExecutionException {
Systemoutprintln("定时任务执行中…");
}
}
第二步:spring配置文件中配置作业类JobDetailBean
Xml代码
说明:orgspringframeworkschedulingquartzJobDetailBean有两个属性,jobClass属性即我们在java代码中定义的任务类,jobDataAsMap属性即该任务类中需要注入的属性值。
第三步:配置作业调度的触发方式(触发器)
Quartz的作业触发器有两种,分别是
orgspringframeworkschedulingquartzSimpleTriggerBean
orgspringframeworkschedulingquartzCronTriggerBean
第一种SimpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次。
配置方式如下:
Xml代码
第二种CronTriggerBean,支持到指定时间运行一次,如每天12:00运行一次等。
配置方式如下:
Xml代码
关于cronExpression表达式的语法参见附录。
第四步:配置调度工厂
Xml代码
说明:该参数指定的就是之前配置的触发器的名字。
第五步:启动你的应用即可,即将工程部署至tomcat或其他容器。
第二种,作业类不继承特定基类。
Spring能够支持这种方式,归功于两个类:
orgspringframeworkschedulingtimerMethodInvokingTimerTaskFactoryBean
orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean
这两个类分别对应spring支持的两种实现任务调度的方式,即前文提到到java自带的timer task方式和Quartz方式。这里我只写MethodInvokingJobDetailFactoryBean的用法,使用该类的好处是,我们的任 务类不再需要继承自任何类,而是普通的pojo。
第一步:编写任务类
Java代码
public class Job2 {
public void doJob2() {
Systemoutprintln("不继承QuartzJobBean方式-调度进行中");
}
}
可以看出,这就是一个普通的类,并且有一个方法。
第二步:配置作业类
Xml代码
<bean id="job2"
class="orgspringframeworkschedulingquartzMethodInvokingJobDetailFactoryBean">
说明:这一步是关键步骤,声明一个MethodInvokingJobDetailFactoryBean,有两个关键属性:targetObject指定任务类,targetMethod指定运行的方法。往下的步骤就与方法一相同了,为了完整,同样贴出。
第三步:配置作业调度的触发方式(触发器)
Quartz的作业触发器有两种,分别是
orgspringframeworkschedulingquartzSimpleTriggerBean
orgspringframeworkschedulingquartzCronTriggerBean
第一种SimpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次。
配置方式如下:
Xml代码
我把我的配置贴出来给你看下。
<!-- Quartz配置调度任务 -->
<bean id="mailInteriorService" class="cnbluednschedulejobMailInteriorService" abstract="false"
lazy-init="default" autowire="default" dependency-check="default" scope="prototype">
<property name="dao">
<ref local="mailinteriorDAOImpl"/>
</property>
<property name="daoMail">
<ref local="mailDAOImpl"/>
</property>
<property name="daoUser">
<ref local="loginDAOImpl"/>
</property>
<property name="daoDept">
<ref local="deptDAOImpl"/>
</property>
</bean>
<!-- 创建调度任务 使用单独编写的调度类QuartzJob -->
<bean id="autoRunTask" class="orgspringframeworkschedulingquartzJobDetailBean">
<property name="jobClass">
<value>cnbluednschedulejobFacadeJob</value>
</property>
<property name="jobDataAsMap">
<map>
<!--采用jobDataAsMap方式进行mailInteriorService注入-->
<entry key="mailInteriorService">
<ref bean="mailInteriorService"/>
</entry>
</map>
</property>
</bean>
<!-- 配置调度任务,简单模式 -->
<bean id="simpleReportTrigger" class="orgspringframeworkschedulingquartzSimpleTriggerBean">
<property name="jobDetail">
<ref bean="autoRunTask"/>
</property>
<property name="repeatInterval">
<value>10000</value>
</property>
</bean>
<!-- 启动调度 -->
<bean id="start" class="orgspringframeworkschedulingquartzSchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="simpleReportTrigger"/>
</list>
</property>
</bean>
以上就是关于用PE装WIN7缺少quartz.dll文件怎么办全部的内容,包括:用PE装WIN7缺少quartz.dll文件怎么办、quartz灯光台不启动一直滴滴的响、quartz单独正常与structs1启动不起来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)