Это все в документах:
Область разговора активна:
во время всех стандартных этапов жизненного цикла любого запроса JSF о лицах или не лицах.
Контекст диалога обеспечивает доступ к состоянию, связанному с конкретным диалогом. С каждым запросом JSF связан диалог. Эта ассоциация автоматически управляется контейнером в соответствии со следующими правилами:
Любой запрос JSF имеет ровно один связанный разговор.
Диалог, связанный с запросом JSF, определяется в начале фазы просмотра восстановления и не изменяется во время запроса.
Любой разговор находится в одном из двух состояний: временное или длительное.
По умолчанию разговор временный
Временный диалог может быть помечен как длительный, вызвав Conversation.begin ()
Длительный разговор может быть помечен как временный, вызвав Conversation.end ()
Все длительные диалоги имеют строковый уникальный идентификатор, который может быть установлен приложением, когда диалог помечен как длительный или сгенерирован контейнером.
Если диалог, связанный с текущим запросом JSF, находится в переходном состоянии в конце запроса JSF, он уничтожается и контекст диалога также уничтожается.
Если диалог, связанный с текущим запросом JSF, находится в состоянии длительного выполнения в конце запроса JSF, он не уничтожается. Вместо этого он может распространяться на другие запросы в соответствии со следующими правилами:
Контекст продолжительного диалога, связанный с запросом, который отображает представление JSF, автоматически распространяется на любой запрос лиц (отправка формы JSF), который исходит от этой отображаемой страницы.
Длительный контекст диалога, связанный с запросом, результатом которого является перенаправление JSF (перенаправление, полученное в результате правила навигации или JSF NavigationHandler), автоматически передается в результирующий запрос не для лиц и в любой другой последующий запрос на тот же URL-адрес. Это достигается с помощью параметра запроса GET с именем cid, содержащего уникальный идентификатор диалога.
Длительный диалог, связанный с запросом, может распространяться на любой запрос, не связанный с лицами, посредством использования параметра запроса GET с именем cid, содержащего уникальный идентификатор диалога. В этом случае приложение должно управлять этим параметром запроса.
Когда в запрос JSF не передается диалог, запрос связывается с новым временным диалогом. Все длительные разговоры ограничиваются определенным сеансом сервлета HTTP и могут не пересекать границы сеанса. В следующих случаях распространенный длительный диалог не может быть восстановлен и повторно связан с запросом:
Когда сеанс HTTP-сервлета признан недействительным, все контексты продолжительного диалога, созданные во время текущего сеанса, уничтожаются после завершения метода servlet service ().
Контейнеру разрешено произвольно уничтожать любой продолжительный диалог, связанный с текущим запросом JSF, для экономии ресурсов.
Автор:
Гэвин Кинг, Пит Мьюир