quartz.properties 里是N多配置信息,其中就包括连接数据库的用户名和密码,但是spring和quartz集成的时候又是采用的quartz默认的加载 quartz.properties 方式,用户名和密码只能是明文的,现在有个需求是要求把用户名和密码加密, 然后连接数据库的时候再解密,防止被别人看见。
1. 第一步 Initializer 继承 QuartzInitializerServlet
public class Initializer extends QuartzInitializerServlet {
public void init(ServletConfig cfg) throws ServletException {
super.init(cfg);
ServletContext context = cfg.getServletContext();
StdSchedulerFactory factory = (StdSchedulerFactory) context
.getAttribute(QUARTZ_FACTORY_KEY);
Scheduler scheduler;
try {
scheduler = factory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
}
}
public void destroy() {
this.getServletContext().setAttribute(QUARTZ_FACTORY_KEY, null);
super.destroy();
}
}
2. 第二步web.xml 配置
<servlet>
<servlet-name>DefinitionInitializer</servlet-name>
<servlet-class>com.sttg.nscg.common.jobinit.DefinitionInitializer</servletclass>
<load-on-startup>1</load-on-startup>
</servlet>
现在的问题就是由于是quartz默认加载的 quartz.properties 文件, 不知道在哪里可以从新设置用户名和密码, 请问哪位朋友遇到过? 帮兄弟指点指点。
问题补充:我也在源码里找到这个关于数据库的类了, quartz-1.8.6\quartz\src\main\java\org\quartz\impl\StdSchedulerFactory.java 会默认读取 quartz.properties 里的用户名和密码,
String dsUser = pp.getStringProperty(PROP_DATASOURCE_USER, "");
String dsPass = pp.getStringProperty(PROP_DATASOURCE_PASSWORD, ""); 源码的966和967行,现在是想在源码里做个解码工作,然后把源码从新编译成jar包,能不能实现? 请高手指点!
相关推荐
本文将深入探讨Spring3与Quartz1.8的集成与使用,包括配置方法、API使用以及集群设置。 一、Spring3与Quartz的结合 1. 配置引入 首先,我们需要在Spring的配置文件中引入Quartz的相关依赖。在`beans.xml`中添加...
- **事务管理**:当 Job 需要在事务环境中执行时,需要确保 Spring 事务管理与 Quartz 的集成正确。 - **错误处理**:合理处理 Job 执行异常,避免影响整个 Scheduler 的运行。 - **资源释放**:应用关闭时,确保...
在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中安排定时任务的执行。Quartz是一个开源的作业调度框架,可以用来在Java应用程序中安排复杂的作业任务。以下将详细介绍如何在Spring中...
本文将深入探讨如何在Spring环境中集成Quartz以实现集群配置,以便于在分布式环境中进行高效的任务调度。 首先,理解Spring集成Quartz的核心在于Spring的Job接口和Quartz的Scheduler。Spring提供了`org.spring...
2. 配置 Quartz:在 Spring 的配置文件(如 `application.properties` 或 `application.yml`)中,可以设置 Quartz 的基本属性,如线程池大小、作业存储策略等。 ```properties # application.properties 示例 ...
在`quartz.properties`文件中,我们需要配置数据库相关的参数,比如JDBC连接字符串、用户名和密码,以及Quartz自身的配置,如线程池大小、job存储策略等。 为了实现集群,我们需要确保每个节点共享相同的任务和...
这个压缩包“spring3.0 + Quartz1.52 + applicationContext.xml”显然是一个关于如何在Spring 3.0环境中集成Quartz 1.52版本的示例或教程资源。 首先,`applicationContext.xml`是Spring框架的核心配置文件,它定义...
标题中的“Spring 2.0 Quartz 执行每天定时任务”是指使用Spring框架的Quartz集成来创建一个每天自动执行的任务。Quartz是一个开源的作业调度框架,它允许开发者定义和调度任务,以便在指定的时间自动运行。在Spring...
本文将详细讲解如何在Spring Boot项目中集成Quartz定时器,以及如何利用Spring的依赖注入特性来实现Job。 一、集成Quartz定时器 1. 添加依赖:首先,你需要在Spring Boot项目的`pom.xml`或`build.gradle`文件中...
基于Spring Boot的Quartz任务调度系统 项目概述 本项目是一个基于Spring Boot和Quartz的任务调度系统,旨在提供灵活的任务管理和调度功能。系统支持多种任务类型,包括Cron表达式任务和单次时间任务,并提供了丰富...
<property name="jobClass" value="com.cayden.springquartz.test.MyJob"/> <!-- 可以在这里设置Job需要的参数 --> ``` 以上就是Spring集成Quartz的基本步骤。通过这种方式,你可以利用Spring的IoC和AOP特性...
spring.quartz.properties.org.quartz.jobStore.isClustered=true ``` 这里,我们设置了数据库URL、用户名、密码,以及指定Quartz使用基于JDBC的作业存储,并始终初始化表结构。同时,我们启用了集群模式。 创建一...
集成Quartz到Spring Boot应用中,首先需要在`pom.xml`文件中添加相应的依赖。Quartz的Spring Boot Starter可以简化配置,使得任务调度变得更加简单。你需要引入如下的Maven依赖: ```xml <groupId>org.spring...
1. **Spring与Quartz的整合**:Spring 提供了对Quartz的集成支持,通过`org.springframework.scheduling.quartz`包中的类,如`SchedulerFactoryBean`和`ThreadPoolTaskExecutor`,可以轻松地将Quartz纳入Spring的...
本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...
Spring通过提供一个Quartz的JobFactory,可以集成Quartz到Spring容器中,这样我们就可以利用Spring的依赖注入(DI)特性来管理Job的生命周期。这使得我们可以轻松地在Job中注入服务和其他依赖,无需手动创建或查找...
Spring 和 Quartz 是两个在 Java 开发中非常重要的框架,它们分别用于依赖注入和任务调度。Spring 是一个全方位的 Java 应用开发框架,提供了一系列强大的功能,如 AOP(面向切面编程)、DI(依赖注入)、事务管理等...
首先,集成Quartz到Spring项目中,我们需要在项目的`pom.xml`或`build.gradle`文件中添加Quartz和Spring的相关依赖。对于Spring 3.2.3,确保引入了如下的Maven依赖: ```xml <groupId>org.springframework ...
在Java开发中,Spring框架是不可或缺的一部分,而Quartz则是一个强大的作业调度库,用于创建、调度和执行作业。本文将详细介绍如何在Spring 3中...这只是一个基础示例,但已经足够让你理解Spring与Quartz的集成方式。
【Spring_QuartZDemo】是一个使用Spring框架集成Quartz定时任务的示例项目,它展示了如何在Java应用中利用Spring和Quartz实现任务调度。Quartz是Java领域一款功能强大的开源作业调度库,能够帮助开发者创建、调度和...