1. 概述
1.1 應用場景
FDL 中原先採用的資料連結名為demo1,已在大量定時任務中使用。為了規範資料連結命名,需將此資料連結名更改為fdl_demo,目前需要逐個開啟定時任務並手動重新選擇新命名的資料連結,操作程式比較麻煩。
鑑於定時任務數量較多,手動選擇過於繁瑣,本文提供一種批量取代的解決方案。
1.2 實現思路
定時任務中的資料連結名儲存在 dp 檔案內,來源是fromConnectionName,去向是toConnectionName。如下圖所示:

可透過 java 程式碼實現字串取代,直接批量取代 dp 檔案內對應的資料連結名即可。
1.3 注意事項
1)本文方案需要在「資源遷移」處匯出定時任務,匯出的定時任務不包含 批量調度 ,使用本文方案會導致批量調度配置丟失。
2)本文方案使用了 javac 命令,所以電腦中需要安裝 JDK 。
2. 範例
本文場景模擬如下:
「定時開發任務」內原使用的資料連結名為mysql,需要取代為fdl_mysql。
「資料聯動Demo」內原使用的資料連結名為demo1,需要取代為fdl_demo。
2.1 匯出需要修改資料連結名稱的任務
1)管理者進入 FDL 工程,點選「管理系統>智慧維運>資源遷移>定時任務」,將需要修改資料連結名稱的任務匯出。如下圖所示:

2)將下載後的壓縮包解壓到某個資料夾下,本文範例解壓到D:\lianjie中。如下圖所示:

2.2 批量取代資料連結名
1)根據實際情況修改程式碼:
directoryPath:本文 2.1 節壓縮包存放位置。需注意,需要使用兩個反斜槓,D:\\lianjie
searchStrings:需要取代的字串,也就是原資料連結名。本文範例是:mysql、demo1
replacementStrings:取代後的字串,也就是新資料連結名。本文範例是:fdl_mysql、fdl_demo
程式碼範例:Java代码示例.zip

2)將修改後的 Java 檔案放在某個資料夾下;cmd 中進入該資料夾,執行命令:javac FileStringReplacement.java,執行成功會生成一個 FileStringReplacement.class 檔案。如下圖所示:

3)再執行命令:java -cp . FileStringReplacement,運作 class 檔案,運作成功此時再查看 resource 資料夾下的 dp 檔案,已經成功修改。如下圖所示:

2.3 資源匯入改寫原任務
1)將修改後的資料夾壓縮成 zip 檔案(檔案名稱可自訂),再用 FDL 的資源遷移匯入,選中要匯入的檔案,選擇改寫匯入。如下圖所示:

2)在「資料開發」中查看定時任務,發現資料連結名稱已修改。
