介绍
基于Spring-boot的kettle调度项目,参考了zhaxiaodong9860的代码并引用了其中的页面管理,后台代码自行参考了API进行工具化编写,方便使用
在原代码的基础上加入以下功能
1、修改数据库为oracle
2、增加mybatis相关依赖,陆续将jpa替换为mybatis
3、增加向kettle脚本中传递参数,用于动态化脚本
4、删除转换名不允许重复约束
5、页面上增加转换描述显示
6、增加redis,rabbitmq等中间件,用于调度抽取任务
7、增加了一些扩展功能
2020-06-15 重要更新说明
1、修改日志级别BUG,TransMate中设置日志级别不生效,将日志级别设置到Trans中
2、同一个脚本,同时运行,根据日志ID获取日志会有一个BUG,日志ID根据转换名称计算得来的,针对同一转换,不同参数手动设置LogChannel 中的名称参数
2020-06-05 重要更新说明
修改页面风格
![7c4ccf73d71295b63017fc69e325d307.png](https://i-blog.csdnimg.cn/blog_migrate/f69bafb7be5aba984b06708d729dc098.jpeg)
首页截图
![87d860af9a1a06fdd70941b657c634a2.png](https://i-blog.csdnimg.cn/blog_migrate/f1709e5120a6af7f7a6361f719bb1258.jpeg)
项目截图
![ae76972141a5f4f2cc0f17f9e72b9bd4.png](https://i-blog.csdnimg.cn/blog_migrate/1193c259155b940a0c1615f1671fa123.jpeg)
登录页截图
![271bb7ef0aaea408fb0b83a617ba61d1.png](https://i-blog.csdnimg.cn/blog_migrate/76d51de61dff0a4de08fa92843e6f76c.jpeg)
首页截图(已更新风格)
![997d1a91d796299913c7d15a24115513.png](https://i-blog.csdnimg.cn/blog_migrate/49acd30c90d8a5dc263ece01e623f9d0.jpeg)
**新增转换任务(已更新风格) ** 转换任务增加页面传递参数,手动写json格式的数据 数据库k_trans表中增加trans_params字段,对应的实体类中也需要增加,通过执行任务时,从trans中获取参数,并设置到相应的脚本中
//className org.kettle.scheduler.system.biz.quartz.TransQuartz@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {...........Integer transId = jobExecutionContext.getMergedJobDataMap().getInt("id");// 获取转换Trans trans = transService.getTransById(transId);// 设置执行参数Map params = new HashMap<>(2);String transParams = trans.getTransParams();Map jsonToMap = JSON.parseObject(transParams);params.putAll(jsonToMap);if (StringUtil.hasText(trans.getSyncStrategy())) {Integer day = Integer.valueOf(trans.getSyncStrategy().substring(2, trans.getSyncStrategy().length()));params.put("start_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayStartTime(), -day)));params.put("end_time", DateUtil.getDateTimeStr(DateUtil.addDays(DateUtil.getTodayEndTime(), -day)));}............}
安装教程
1、导入docs中的kettle-scheduler-oracle.sql文件至oracle数据库
使用说明
- 执行kettle-scheduler-starter下面docs下面的kettle-scheduler-oracle.sql脚本创建表
- 生成环境执行时修改application-prod.yml中的数据库连接配置,开发环境修改application-dev.yml中的数据库配置,如果需要修改端口就在application.yml中修改
- 修改application-kettle.yml配置,设置日志存储路径、kettle脚本保存路径、kettle-home路径(如果没有指定home路径,那么.kettle文件夹就在当前用户根路径下)
- 如果需要自定义变量在kettle.properties中编写,并把kettle.properties文件拷贝到kettle-home路径下面的.kettle文件夹下
- 启动项目使用调度平台(用户名:admin,密码:admin)
- 如果要使用【文件资源库】需要单独把项目下【file-rep】拷贝到设置好的路径下,并在管理页面配置好文件资源库,因为打包后kettle不能访问到jar中的文件,所以需要单独存放
git:https://gitee.com/uxue/kettle-scheduler-boot