javax.faces.STATE_SAVING_METHOD Сериализуемый

У меня есть интегрированное приложение JSF и Spring. Класс Bean Backing Bean для моей учетной записи имеет сеанс области видимости и является сериализуемым [как предложено здесь]. В моем файле web.xml javax.faces.STATE_SAVING_METHOD указано значение "сервер". Все работает хорошо все еще здесь.

[У меня есть Backing bean, класс Service и класс DAO в слоях.]

Когда я изменяю значение javax.faces.STATE_SAVING_METHOD на "клиент", приложение выдает исключение "java.io.NotSerializableException", указывающее на мой класс обслуживания. Если я сделаю класс обслуживания Serializable, то "java.io.NotSerializableException" будет указывать на мой класс DAO. Если я сделаю класс DAO Serializable, приложение будет работать без проблем.

Однако я считаю, что создание класса обслуживания и класса DAO Serializable не очень хороший подход.

Ищу мнение эксперта.

Заранее спасибо.

1 ответ

Вы должны пометить свой сервис как временный в компоненте поддержки своего аккаунта. Это предотвращает сериализацию.

Пример:

@RequestScoped
public class AccountBackingBean {

 @EJB
 private transient MyService myService;
 private String someValue;

}

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

Другие вопросы по тегам