历史版本3 :批量修改定時任務中的資料連結名 返回文檔
編輯時間: 內容長度:图片数:目录数: 修改原因:

目錄:

1. 概述编辑

1.1 应用场景

FDL 中原先采用的数据连接名为demo1,已在大量定时任务中使用。为了规范数据连接命名,需将此数据连接名更改为fdl_demo,目前需要逐个打开定时任务并手动重新选择新命名的数据连接,操作过程比较麻烦。

鉴于定时任务数量较多,手动选择过于繁琐,本文提供一种批量替换的解决方案。

1.2 实现思路

定时任务中的数据连接名保存在 dp 文件内,来源是fromConnectionName,去向是toConnectionName。如下图所示:

1700624642588824.png

可通过 java 代码实现字符串替换,直接批量替换 dp 文件内对应的数据连接名即可。

1.3 注意事项

本文方案需要在「资源迁移」处导出定时任务,导出的定时任务不包含 批量调度 ,使用本文方案会导致批量调度配置丢失

2. 示例编辑

本文场景模拟如下:

  • 「定时开发任务」内原使用的数据连接名为mysql,需要替换为fdl_mysql

  • 「数据关联Demo」内原使用的数据连接名为demo1,需要替换为fdl_demo

2.1 导出需要修改数据连接名称的任务

1)管理员进入 FDL 工程,点击管理系统>智能运维>资源迁移>定时任务,将需要修改数据连接名称的任务导出。如下图所示:

3.png

2)将下载后的压缩包解压到某个文件夹下,本文示例解压到D:\lianjie中。如下图所示:

1700634565320136.png

2.2 批量替换数据连接名

1)根据实际情况修改代码:

  • directoryPath:本文 2.1 节压缩包存放位置。需注意,需要使用两个反斜杠,D:\\lianjie

  • searchStrings:需要替换的字符串,也就是原数据连接名。本文示例是:mysql、demo1

  • replacementStrings:替换后的字符串,也就是新数据连接名。本文示例是:fdl_mysql、fdl_demo

代码示例:Java代码示例.zip

1700634781714816.png

2)将修改后的 Java 文件放在某个文件夹下;cmd 中进入该文件夹,执行命令:javac FileStringReplacement.java,执行成功会生成一个 FileStringReplacement.class 文件。如下图所示:

1700634884609967.png

3)再执行命令:java -cp . FileStringReplacement,运行 class 文件,运行成功此时再查看 resource 文件夹下的 dp 文件,已经成功修改。如下图所示:

1700635265158157.png

2.3 资源导入覆盖原任务

1)将修改后的文件夹压缩成 zip 文件(文件名可自定义),再用 FDL 的资源迁移导入,选中要导入的文件,选择覆盖导入。如下图所示:

13.png

2)在「数据开发」中查看定时任务,发现数据连接名称已修改。