【发布时间】:2016-11-11 08:18:13
【问题描述】:
最近在开发flink作业时遇到了一些问题,引入了spring和hibernate,作业会在flink集群上运行。所以我需要在任务管理器而不是作业管理器上运行 flink 操作符之前初始化 spring 资源。但是我找不到任何合适的 StreamExecutionEnvironment 方法来做到这一点。
我已经尝试了以下一些方法:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
// etl business logic as flink operators
FlinkOperators.run();
env.execute();
但是,当并行度多于一个的flink作业执行时,spring初始化将不在在每个task manager进程中。所以我不能在 flink 工作中使用 spring。
有什么方法可以在 flink 作业上初始化 spring 资源吗?
谢谢。
最好的问候。
阿尔文
【问题讨论】:
-
我现在遇到了问题,你找到解决办法了吗?
标签: spring apache-flink