Единственное состояние, доступное для Trigger
, - это состояние ключа для каждого окна, используемое через triggerContext.getPartitionedState
. Для триггеров не существует глобального состояния.
Существуют некоторые возможные обходные пути. Возможно, вы можете иметь Trigger
, который срабатывает при каждом событии, а затем использовать глобальное состояние в ProcessWindowFunction
, чтобы решить, что делать (это, вероятно, очень плохая идея).
В большинстве случаев, когда становится трудно получить то, что вы хотите от оконного API, лучше создать полностью индивидуальное решение с ProcessFunction
. Если неясно, как решить вашу проблему таким образом, задайте другой вопрос, который содержит более подробную информацию о вашем случае использования.