Приложение должно потерпеть неудачу, иначе гарантии упорядоченности и непротиворечивости больше не будут действовать. Это полностью независимо от контрольной точки.
Если сбой только одной задачи, все другие задачи в одном приложении должны завершиться сбоем, а Flink не может знать, какие задачи актуальны или нет.
В вашем случае у вас фактически есть 3 независимых приложения. Таким образом, у вас есть три варианта:
Если они должны потерпеть неудачу вместе, вы помещаете их все в тот же StreamExecutionEnvironment
, что и вы.
Если все приложения должны работать независимо, вам нужно запустить задание 3 раза с разными параметрами. Затем эти три развертывания могут быть перезапущены независимо.
Если вы все еще хотите развернуть только один раз, вы можете создать 3 StreamExecutionEnvironment
s и позволить им работать параллельно в разных потоках. Главное затем присоединиться к этим темам.