quartz1.8+jdk1.5入门学习

今天项目要做一个功能,每天晚上在1点,自动读取另一台服务器上的数据;由于不想使用timer,听说quartz不错,不会正好学习一下,咋的,用用呗!孩儿立志出乡关,代码不成誓不还!遥问洒家何时睡,每天都到12点!由于工程用了jdk1.5,下载最新的quartz-2.2.3无法使用,木办法只好用了quartz-1.8.6,由于我用的功能比较简单,没有很多的要求,例子一拷贝,成了!


一、导入jar包
quartz-1.8.6.jar、quartz-all-1.8.6.jar、slf4j-api-1.6.0.jar、slf4j-log4j12-1.6.0.jar


二、新建类
package com.erp.util;


import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;




public class QuartzJob implements Job {


public void execute(JobExecutionContext arg0) throws JobExecutionException {
String jobName = arg0.getJobDetail().getFullName();
System.out.println(jobName + "执行时间为:"+new DatesFormat().getNowDate());
/**
实际操作业务,例如从一台数据库服务器中读取数据插入另一台数据库服务器中
**/

}
}


三、新建QuartzInitializerServlet类,我们不使用quartz自带的servlet,因为我们要在servlet中实现自动读取业务




package com.erp.cmd.sales.inOutDbf;


import java.io.IOException;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;


import com.erp.util.QuartzJob;




public class QuartzInitializerServlet extends HttpServlet {


/**
*
*/
private static final long serialVersionUID = 1L;


public QuartzInitializerServlet() {
super();
}


/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy();
}




@Override
public void init() throws javax.servlet.ServletException {


System.out.println("Quartz 初始化开始, initializing Scheduler...");


try {
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler sched = sf.getScheduler();
sched.start();

JobDetail job = new JobDetail("job1", "group1", QuartzJob.class);
/**
在每天的1点启动任务
**/
CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1","group1", "0 0 1 * * ?");
sched.scheduleJob(job, trigger);

System.out.println(job.getFullName() + "执行了");


} catch (Exception e) {
System.out.println("Quartz Scheduler failed to initialize: " + e.toString());
throw new ServletException(e);
}
}


@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
}


@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
}


}


四、在web.xml中添加
<servlet>
<servlet-name>QuartzInitializerServlet</servlet-name>
<servlet-class>com.erp.cmd.sales.inOutDbf.QuartzInitializerServlet</servlet-class>
<load-on-startup>2</load-on-startup><!--自启动-->
</servlet>

<think>嗯,用户想了解若依框架的入门使用方法,也就是RuoYi框架的初学者指南和使用教程。首先,我需要确认若依框架的基本信息,它是一个基于Spring Boot的权限管理系统,对吧?然后,用户作为初学者,可能需要从环境搭建开始,包括JDK、Maven、MySQL这些的安装配置。接下来,可能需要指导他们如何下载和导入项目,可能涉及到Git克隆或者下载ZIP包,然后用IDE比如IntelliJ或者Eclipse打开。 然后,数据库的配置是关键部分,需要修改application-druid.yml中的数据库连接信息,创建对应的数据库,并导入SQL脚本。这部分用户可能会遇到问题,比如字符集设置或者权限问题,需要提醒他们注意。启动项目后,访问登录页面,默认的账号密码通常是admin/admin123,可能需要提示用户首次登录后修改密码。 接着,系统的主要功能模块,比如用户管理、角色权限、菜单管理这些,可能需要简单介绍,让用户知道从哪里开始。如果是分离版,前后端的启动方式不同,可能需要分开说明,比如启动后端Spring Boot应用,再启动前端的Node.js服务。 另外,用户可能需要自定义开发的指导,比如如何新建模块、编写实体类、Controller、Service等,还有前后端交互的流程。常见问题部分也很重要,比如依赖下载失败、端口冲突、前端编译错误,这些是新手常遇到的问题,需要给出解决方案。 最后,生成相关问题的时候,要考虑用户可能进一步的需求,比如环境搭建的细节、代码结构分析、权限系统的工作原理、常见错误处理,以及如何扩展功能。同时,要确保回答中提到的所有步骤都准确,比如引用的SQL文件路径是否正确,配置文件的名称是否有变化,避免因为版本差异导致用户操作失败。还要检查是否有遗漏的步骤,比如Maven的配置是否需要额外设置镜像源,或者IDE是否需要安装特定插件。总之,需要结构清晰,逐步引导用户完成整个入门过程,并预见到他们可能遇到的障碍,提前给出解决方法。</think>### 若依框架(RuoYi)初学者指南 #### 一、环境准备 1. **基础依赖** - JDK 1.8+(推荐OpenJDK或Oracle JDK) - Maven 3.6+ - MySQL 5.7+ 或 MariaDB - Redis 5.0+(用于缓存管理) 2. **开发工具** - IntelliJ IDEA / Eclipse(需安装Lombok插件) - Node.js 14+(若使用前后端分离版需安装) #### 二、项目下载与配置 1. **获取源码** - 开源地址(Gitee/GitHub): ```bash git clone https://gitee.com/y_project/RuoYi.git ``` - 或直接下载ZIP压缩包 2. **数据库初始化** - 创建数据库`ry`和`ry-config` - 执行SQL脚本: `ruoyi-admin/src/main/resources/sql/quartz.sql` `ruoyi-admin/src/main/resources/sql/ry_2023xxxx.sql`[^1] 3. **配置文件修改** 修改`ruoyi-admin/src/main/resources/application-druid.yml`中的数据库连接信息: ```yaml url: jdbc:mysql://localhost:3306/ry?useUnicode=true... username: root password: 123456 ``` #### 三、项目启动 1. **单体版启动** 直接运行`RuoYiApplication.java`中的main方法 2. **分离版启动** - 后端:启动`RuoYiApplication.java` - 前端: ```bash cd ruoyi-ui npm install npm run dev ``` #### 四、基础功能使用 1. **登录系统** 默认账号:`admin` / 密码:`admin123` 2. **核心模块导航** | 模块 | 功能 | |------------|--------------------------| | 系统管理 | 用户/角色/菜单权限配置 | | 监控中心 | 定时任务/服务监控 | | 系统工具 | 代码生成/表单构建 | #### 五、自定义开发流程 1. **新建业务模块** 通过代码生成器自动生成: - 配置数据源 - 选择需要生成的表 - 生成前后端代码 2. **手动开发规范** ```java // 实体类示例 @Data @TableName("sys_demo") public class Demo extends BaseEntity { private Long id; private String demoField; } ``` #### 六、常见问题解决 1. **依赖下载失败** 建议配置阿里云Maven镜像: ```xml <mirror> <id>aliyunmaven</id> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>*</mirrorOf> </mirror> ``` 2. **前端编译错误** 尝试清除缓存后重新安装依赖: ```bash rm -rf node_modules npm cache clean --force npm install ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值