kettle-scheduler-boot

開發計劃
| 序號 | 專案 | 狀態 | 優先級 |
|---|---|---|---|
| 1 | 在線管理,編輯kettle腳本 | 緊急 | |
| 2 | 通過原始碼實作集群,多執行緒執行任務 | ? | 緊急 |
| 2 | 重構jpa部分,改為mybatis | ? | 一般 |
介紹
基于Spring-boot的kettle調度專案,參考了zhaxiaodong9860的代碼并參考了其中的頁面管理,后臺代碼自行參考了API進行工具化撰寫,方便使用
在原代碼的基礎上加入以下功能
1、修改資料庫為oracle
2、增加mybatis相關依賴,陸續將jpa替換為mybatis
3、增加向kettle腳本中傳遞引數,用于動態化腳本
4、洗掉轉換名不允許重復約束
5、頁面上增加轉換描述顯示
6、增加了一些擴展功能
7、增加在線編輯腳本
演示環境
點擊查看演示環境
賬號:demo
密碼:demo@1234
演示環境,請善待,
點擊下載可運行程式包 提取碼:e150
點擊查看完整更新記錄
2020-11-30 更新說明
1、【優化】完善腳本在線預覽功能(持續完善中)

在線預覽腳本
已知Bug串列
專案截圖



**
轉換任務增加頁面傳遞引數,手動寫json格式的資料
資料庫k_trans表中增加trans_params欄位,對應的物體類中也需要增加,通過執行任務時,從trans中獲取引數,并設定到相應的腳本中
//className org.kettle.scheduler.system.biz.quartz.TransQuartz
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
...........
Integer transId = jobExecutionContext.getMergedJobDataMap().getInt("id");
// 獲取轉換
Trans trans = transService.getTransById(transId);
// 設定執行引數
Map<String, String> 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)));
}
............
}

在線編輯kettle腳本工具,和桌面端的kettle一樣用法
專案地址:https://github.com/HiromuHota/pentaho-kettle
資源庫字典:https://35youth.cn/kettleRepository.html
安裝教程
1、匯入docs中的1_XXX.sql 2_XXX、3_XXX檔案至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中的檔案,所以需要單獨存放
參與貢獻
- Fork 本倉庫
- 新建 Feat_xxx 分支
- 提交代碼
- 新建 Pull Request
關于我
- 半碼農

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235206.html
標籤:Java
上一篇:延時佇列 DelayQueue
