为什么JobListeners在本地环境(IDE)中工作,而不在我的生产环境中工作?

时间:2020-08-13 12:35:11

标签: apache-flink

我从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");
    }
}

0 个答案:

没有答案