# JavaScript 脚本使用示例
本示例主要介绍JavaScript脚本使用示例,该场景实现了在数据同步的过程中,通过 JavaScript 组件来调用 java 类实现对数据的加密。主要步骤如下:
- 准备数据
- 新建批量作业
- 画布中拖拽生成记录图元、Javascript图元、文本文件输出图元
- 配置"生成记录"组件属性
- 配置"Javascript"组件属性
- 配置"文本文件输出"组件属性
- 通用配置
- 保存草稿
- 运行
- 提交版本
# 准备数据
开发一个加密类,将该类打包成 MD5Utils.jar 包放入DI Server所在路径的 /home/DI/Primeton_DI_7.0.0_Server/diserver/lib 下。
⚠️ 提示:这个类引用了第三方 sun.misc.BASE64Decoder.jar 包,需要将其放入 /home/DI/Primeton_DI_7.0.0_Server/diserver/lib 下。
package com.test.md5;
import java.io.IOException;
import Decoder.BASE64Decoder;
import Decoder.BASE64Encoder;
public class MD5Utils {
private static BASE64Encoder encoder = new BASE64Encoder();
private static BASE64Decoder decoder = new BASE64Decoder();
public static String encode(String oldStr){
return encoder.encode(oldStr.getBytes());
}
public static String decode(String oldStr) throws IOException{
return new String(decoder.decodeBuffer(oldStr));
}
}
# 新建批量作业
点击资源树节点上的【...】,选择弹出菜单【新建批量作业】。填写作业名称、选择作业类型"离线转换"。
# 画布中拖拽生成记录图元、JavaScript图元、文本文件输出图元
分别用用鼠标拖拽"关系型数据库输入"和"文本文件输出"图元到画布。当鼠标放置到画布中的"关系型数据库输入"图元上时四周会显示"连接桩",此时拖住鼠标将"关系型数据库输入"与"文本文件输出"连接起来。
# 配置"生成记录"组件属性
在"生成记录"图元上右键,点击【编辑】按钮,弹出"生成记录"组件的弹窗。属性设置完毕请点击【确定】按钮。
# 配置"Javascript"组件属性
在"JavaScript"图元上右键,点击【编辑】按钮,弹出"JavaScript"组件的弹窗。属性设置完毕请点击【确定】按钮。
//MD5加密的方法存放目录
var md5 = new Packages.com.test.md5.MD5Utils( );
var md5Password = md5.encode(password.getString( ));
# 配置"文本文件输出"组件属性
设置"文件名称"、"扩展名",其他属性根据需求设置,点击【下一步】按钮。
设置"策略配置"相关属性,点击【获取字段】获取要输出的字段名称。
如果需要输出新的字段请点击【增加字段】按钮,确保新增加的字段存在。
属性设置完毕请点击【确定】按钮。
# 通用配置
在通用配置中可以配置任务优先级、Worker 分组、命名参数、本地参数、超时告警。 修改属性后请务必点击【确定】按钮。
本示例使用的是默认值。
# 保存草稿
如果所有组件属性都已设置完毕,点击【保存】按钮,可以看到保存过的历史草稿,并可以随意切换草稿。(草稿只保存最近 10 个)
# 运行
点击【运行】按钮,可以运行已经开发完毕的场景,在日志栏可以看运行日志及运行结果。
可以在 DI Server 服务器磁盘系统中看到输出的文本文件 /home/DI/Primeton_DI_7.0.0_Server/diserver/JS-MD5.txt
# 提交版本
当草稿运行正常后,点击【提交】按钮可以将该版本提交到作业调度,每次修改提交都会生成新的版本,可以看到提交的历史版本,并可以随意切换版本。
提交后的版本,可以在作业调度中进行"定时"调度配置。