`

动态加载属性文件与SpringQuartz的应用

    博客分类:
  • Java
阅读更多

前面写了一篇关于动态加载属性文件的例子,参考下面的这个帖子:

http://zhangzhenting.iteye.com/blog/600269

 

针对动态加载属性文件,再次给出一个更简单的例子,去掉了config.xml文件,当然配置也就没有那么灵活了。对于一些简单的配置可以采用这种方式;

在该例子中引入了Spring Quartz的使用,通过quartz来进行测试。

 

属性动态加载应用:

 

public class PropertiesHander {

	private static PropertiesConfiguration configuration = null;

	private static final String CONFIG_FILE = "main.properties";

	private PropertiesHander() {
	}

	public static PropertiesConfiguration getIntance() {
		if (configuration == null) {
			try {
				configuration = new PropertiesConfiguration(CONFIG_FILE);
			} catch (ConfigurationException e) {
				e.printStackTrace();
			}
			FileChangedReloadingStrategy strategy = new FileChangedReloadingStrategy();
			// 文件自动重加载延时设置为30秒,只有当文件修改之后才会重新加载(根据文件最后修改时间判断)
			strategy.setRefreshDelay(30000);
			configuration.setReloadingStrategy(strategy);
		}
		return configuration;
	}

	public static String getProperty(String propertyName, String defaultValue) {
		return getIntance().getString(propertyName, defaultValue);
	}

	public static String getProperty(String propertyName) {
		return getIntance().getString(propertyName);
	}
}

 

Spring Quartz 配置:

	<!-- 定时任务 -->
	<bean id="taskService" class="com.zzt.application.service.TaskService" />

	<!--定义目标bean和bean中的方法 -->
	<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref local="taskService" />
		</property>
		<property name="targetMethod">
			<value>execute</value>
		</property>
		<!--定义task为单线程-->
		<property name="concurrent" value="false" />
	</bean>
	<!--定义job触发的时间-->
	<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="jobtask" />
		</property>
		<property name="cronExpression">
			<value>5/5 * * * * ?</value>
		</property>
	</bean>

	<!--总管理-->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref local="cronTrigger" />
			</list>
		</property>
	</bean>

 需要引用的包:

commons-collections.jar

commons-configuration-1.6.jar

commons-lang.jar

commons-logging.jar

quartz-1.5.2.jar

spring.jar

 

附件给出该测试的源码。

分享到:
评论

相关推荐

    spring Quartz的jar包

    Spring Quartz是Spring框架与Quartz任务调度库的集成,它为开发者提供了在Spring应用中进行任务调度的强大功能。Quartz是一个开源的作业调度框架,能够处理执行周期性任务的需求。在Java环境中,Spring Quartz使得...

    Spring Quartz定时任务 jar包

    Spring Quartz定时任务是Java开发中常见的一种任务调度框架,它结合了Spring的优秀特性与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务的管理。在本压缩包中,包含的是`log4j-1.2.14.jar`这个日志处理...

    spring quartz

    2. **配置Spring**:在Spring配置文件中声明`SchedulerFactoryBean`,并配置相关的Quartz属性,如数据源、JobStore等。 3. **定义Job**:创建一个实现了`Job`接口的类,并可以使用Spring的注解如`@Component`进行...

    springquartz动态任务

    当我们谈论"springquartz动态任务"时,我们实际上是在讨论如何将Quartz与Spring框架集成,实现任务的动态管理,包括任务的添加、删除等功能。 首先,Spring对Quartz的集成使得我们可以利用Spring的依赖注入(DI)和...

    spring quartz 时间调用框架

    Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性,将Quartz与应用程序的其他部分无缝连接,提供...

    Java应用:Java调度任务和Spring Quartz (2)

    当Spring应用启动时,`SchedulerFactoryBean`会自动启动Quartz调度器,并按照配置的cron表达式安排`DailySay`任务的执行。 在实际应用中,可能需要根据需求调整`Job`的实现,例如增加日志记录、异常处理等机制。...

    Spring Quartz动态配置时间.rar

    Spring Quartz 是一个强大的任务调度库,它允许开发者在Java应用程序中安排定时任务。这个压缩包“Spring Quartz动态配置时间.rar”包含的PDF文档很可能是关于如何在Spring框架中使用Quartz进行动态配置时间的详细...

    Spring Quartz集成

    此外,可以使用Spring的`SchedulerFactoryBean`的`setOverwriteExistingJobs`属性来控制是否覆盖已存在的任务配置,从而实现任务的动态添加、修改或删除。 在实际项目中,Spring Quartz集成可以用于各种场景,如...

    spring quartz简单例子

    4. **配置Quartz**:在Spring的配置文件中,我们需要定义`SchedulerFactoryBean`,设置数据源、job存储以及其它Quartz配置属性。例如,`triggers`和`jobs`可以通过XML配置文件来定义,或者使用`@Configuration`注解...

    Spring整合quartz2.2.3总结,quartz动态定时任务,Quartz定时任务集群配置

    Spring整合Quartz 2.2.3是...总之,Spring与Quartz的整合使得我们能够便捷地在Spring应用中实现复杂的定时任务管理。通过深入理解Quartz的工作原理和Spring的整合机制,开发者可以更好地控制和扩展应用的定时任务功能。

    spring的quartz使用实例

    - 创建SchedulerFactoryBean:在Spring配置文件中定义一个`SchedulerFactoryBean`,设置相关属性,如JobStore类型、ThreadPool大小等。 - 注册JobDetail和Trigger:创建`JobDetail`对象表示Job,设置Job类、名字和...

    springboot整合quartz定时任务yml文件配置方式

    Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup Language)配置文件,使得配置更加直观和灵活。以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及...

    spring quartz任务调度完整可执行

    Spring Quartz 是一个强大的开源作业调度框架,用于在Java应用程序中实现定时任务的管理。它与Spring框架紧密结合,提供了丰富的API和配置选项,使得在Spring应用中集成和管理定时任务变得非常方便。本教程将深入...

    spring quartz 任务调度

    2. 配置Quartz:在Spring配置文件中,定义SchedulerFactoryBean,配置相关的数据源、jobStore等属性。 3. 创建Job类:实现org.quartz.Job接口,编写业务逻辑。 4. 定义Trigger:根据需求创建CronTrigger或...

    spring-quartz简单实例

    Quartz是开源的,可扩展的,且与Spring框架完美集成,为应用提供了灵活且可靠的定时任务管理能力。在这个"spring-quartz简单实例"中,我们将探讨如何在Spring环境下配置和使用Quartz。 首先,我们需要引入Quartz和...

    Spring Quartz 调度器

    Spring Quartz 调度器是Java开发中常用的一种任务调度框架,它结合了Spring框架的强大功能与OpenSymphony的Quartz库,使得开发者能够轻松地在应用中添加定时任务。在myEclipse环境中,借助Tomcat服务器和JDK运行环境...

    Spring+quartz相关jar包.rar

    2. 配置 Scheduler:在 Spring 配置文件中,设置 Quartz 的 SchedulerFactoryBean,指定数据库存储(如果需要持久化任务信息)和相关的配置属性。 3. 定义 Job 和 Trigger:创建 Quartz 作业类(Job),实现 org....

    quartz spring

    总之,Quartz与Spring的整合提供了一种高效的方式来处理应用程序中的定时任务,使得我们可以更专注于业务逻辑,而不必担心调度和管理的复杂性。通过合理的配置和设计,你可以构建出健壮且可扩展的任务调度系统。

Global site tag (gtag.js) - Google Analytics