1. 执行提交命令
当我们执行命令运行任务时,例如执行了以下命令:
flinkx命令模板:
bin/flinkx -mode local \
-job $FLINK_HOME/examples/stream_example.json \
-pluginRoot $FLINK_HOME/plugins \
-confProp "{\"flink.checkpoint.interval\":60000}"
当我们执行以下命令提交任务时:
./bin/flinkx -job ./job/stream.json
-flinkconf $FLINK_HOME/conf
2. Launcher类的执行流程如下:
1. 创建 OptionParser optionParser = new OptionParser(args); 将参数args的k-v值,复制到 OptionParser类的变量 properties 中。
在赋值时会根据字段注解 @OptionRequired 检查必传参数是否都有值,如果缺少必须字段,则会抛出异常
if(optionRequired.required()&&StringUtils.isBlank(value)){
throw new RuntimeException(String.format("parameters of %s is required",name));
}