Состояние JSF Сохранение изначально на сервер и время ожидания сеанса передачи на клиент?

Существуют ли какие-либо методы сохранения состояния, которые позволили бы приложению JSF изначально сохранить данные о состоянии на сервере, но после истечения интервала времени сеанса это состояние передается клиенту, так что приложение всегда реагирует даже после того, как время ожидания сеанса на сервере и памяти лучше удалось на сервере?

Или каким-либо образом это может быть реализовано? Но я ожидаю, что это должно быть частью спецификации JSF!


редактировать

После предложения BalusC я очень впечатлен принципами JSF без гражданства и текущей реализацией этого. Если кто-то еще здесь заинтересован в добавлении JSF без сохранения состояния в спецификацию JSF, подумайте над тем, чтобы посмотреть или проголосовать за эту проблему.

JSF без сохранения состояния обеспечивает значительное повышение производительности для некоторых выгод, таких как невозможность динамического создания представлений (например, путем привязки, тегов JSTL и т.д.) Или его изменения.


Режим работы JSF без сохранения состояния был бы невероятно полезен для приложений и архитектур с высокой нагрузкой:

https://web.archive.org/web/20140626062226/http://industrieit.com/blog/2011/11/stateless-jsf-high-performance-zero-per-request-memory-overhead/#comment-4

Ранее это было предложено Джейкобом: http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html

Это помогло бы JSF избавиться от стигмы "медленного и нехватки памяти" и помогло бы идти в ногу с текущими тенденциями в области технологий (архитектуры без сохранения состояния).

Ответ 1

Как это технически возможно? Сервер никогда не сможет заранее предсказать, создаст ли следующий запрос новый сеанс, и, следовательно, в ответе текущего запроса должно использоваться сохранение состояния на стороне клиента вместо сохранения состояния на стороне сервера. Если вам когда-нибудь удастся реализовать его с помощью простого JSP/Servlet, не стесняйтесь опубликовать запрос на расширение спецификации JSF.

Просто используйте сохранение состояния на стороне клиента и убедитесь, что частичное сохранение состояния включено. Издержки относительно незначительны по сравнению с полным сохранением состояния.

Обратите внимание, что можно использовать JSF без сохранения состояния. Смотрите также этот блог. Единственное преимущество - это то, что вы не можете создавать представления динамически (например, с помощью binding, тегов JSTL и т.д.), А также не можете манипулировать ими после создания (например, путем добавления/удаления дочерних компонентов).

Смотрите также: