我从Java 8开始就使用Flink 1.10.1,当我在管道中注册JobListener时,我观察到,如果我在本地环境(IDE)中运行它,则它可以正常工作,但是当我在生产环境中部署uberjar时环境中,侦听器无法正常工作。知道会发生什么吗?
在这种情况下,我试图检测工作已完成。
public static void main(String[] args) throws Exception {
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStream<String> texts = env.fromCollection(Stream.of("1", "2", "3").collect(Collectors.toList()))
.map(new StringMap());
texts.print();
env.registerJobListener(new CustomJobListener());
env.execute();
}
public class CustomJobListener implements JobListener {
private static final Logger logger = LoggerFactory.getLogger(CustomJobListener.class);
@Override
public void onJobSubmitted(@Nullable JobClient jobClient, @Nullable Throwable throwable) {
}
@Override
public void onJobExecuted(@Nullable JobExecutionResult jobExecutionResult, @Nullable Throwable throwable) {
logger.info("Testing listener");
}
}