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 配置

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