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

问题描述

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)