是否可以在运行时更改流程功能代码(行为)



我只想尽可能多地配置我的flink应用程序。此外,我还想在运行时更改进程函数的行为,而不是停止集群并重新部署jar文件。

有这样的文件吗?或者是否可以将流程函数代码注入正在运行的jar中。例如,从web ui中,我将获得流程函数输入(作为java代码(,然后在提交表单后,我将更新流程函数行为。

您可以使用BroadcastProcessFunction(或KeyedBroadcastProcessFunction(,并在广播频道上(以某种方式(交流流程函数应该做什么。

我见过这种技术用于广播javascript代码(由Rhino执行(、DSL中的命令、对要加载的JAR文件的引用等。

它很旧,没有很好的记录,但是https://github.com/alpinegizmo/flink-training-exercises/blob/master/src/main/java/com/ververica/flinktraining/solutions/datastream_java/broadcast/TaxiQuerySolution.java是这种方法的一个示例,它使用Janino编译和执行动态提供的Java表达式。

最新更新