JSF отступающий боб должен быть сериализуемым?

Я получаю эти сообщения:

[# | 2010-07-30T11:28:32.723+0000|WARNING|glassfish3.0.1|javax.faces | _ ThreadID=37; _ThreadName=Thread-1; |Setting несериализуемое значение атрибута в ViewMap: (ключ: MyBackingBean, класс значения: foo.bar.org.jsf. MyBackingBean) | #]

Они означают, что мой JSF отступающие бобы должен реализовать сериализуемый? Или они обращаются к некоторой другой проблеме?

40
задан BalusC 30 July 2010 в 15:07
поделиться

1 ответ

Да, вы правильно поняли. Представление в основном хранится в области сеанса. Область сеанса находится в JSF, поддерживаемом HttpSession сервлета . Все атрибуты сеанса должны реализовывать Serializable , потому что средний контейнер сервлетов может сохранять данные сеанса на жестком диске, среди прочего, чтобы иметь возможность делиться с другими серверами в кластере, или выдерживать большую нагрузку, или восстанавливать сеансы. во время перезапуска сервера.

Сохранение необработанных объектов Java на жестком диске возможно только в том случае, если соответствующий класс реализует Serializable . Затем ObjectOutputStream можно использовать для записи их на жесткий диск и ObjectInputStream для чтения их с жесткого диска. Сервлетконтейнер управляет всем этим прозрачно, вам на самом деле не нужно об этом беспокоиться. JSF просто предупреждает, чтобы вы понимали риски.

65
ответ дан 27 November 2019 в 01:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: