Quartz的学习和案例演示

无spring project演示

//创建Job实例,并把该实例关联MyBean.class
		JobDetail jobDetail = JobBuilder.newJob(MyBean.class).build();
		
		//创建Trigger实例,指定开始时间和结束时间以及执行频率
		Trigger trigger = TriggerBuilder.newTrigger().startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).withRepeatCount(10)).build();
		
		//创建Schedule
		Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
		scheduler.start();
		scheduler.scheduleJob(jobDetail, trigger);


有spring project演示

第一种 使用MethodInvokingJobDetailFactoryBean生产JobDetail,使用CronTriggerFactoryBean生产Trigger

<!-- Jobbean -->
	<bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="myBean"/>
		<property name="targetMethod" value="printMessage"/>
	</bean>
	
	<!-- Trigger -->
	<bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="simpleJobDetail"/>
		<property name="cronExpression" value="0/5 * * ? * *"/>
	</bean>	
	<!-- Scheduler -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="jobDetails" ref="simpleJobDetail"/>
		<property name="triggers" ref="myTrigger" />
	</bean>

第二种 使用JobDetailFactoryBean生产JobDetail,使用SimpleTriggerFactoryBean生产Trigger

<!-- Jobbean -->
	<bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
		<property name="jobClass" value="com.humman.springQuartz.quartz.SuperBean"/>
		<property name="jobDataMap">
			<map>
			<entry key="myBean" value-ref="myBean" />
			</map>
		</property>
		<property name="durability" value="true"/>	
	</bean>
	
	<!-- Trigger -->
	<bean id="myTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
		<property name="jobDetail" ref="myJobDetail"/>
		<property name="startDelay" value="1000"/>
		<property name="repeatInterval" value="2000"/>
	</bean>
	
	<!-- Scheduler -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="jobDetails" ref="myJobDetail"/>
		<property name="triggers" ref="myTrigger" />
	</bean>

另外需要学习:quartz.properties 配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章