2014-06-10 3 views
0

У меня есть интегрированное приложение JSF и Spring. Моя учетная запись Поддержка класса Bean имеет сеанс видимости и Serializable [как предложено here]. В моем файле web.xml значение javax.faces.STATE_SAVING_METHOD - это «сервер». Здесь все работает хорошо.javax.faces.STATE_SAVING_METHOD Serializable

[Я Архивация боба, класс обслуживания и класс DAO в слоях.]

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

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

Ищет экспертное заключение.

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

ответ

-1

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

Пример:

@RequestScoped 
public class AccountBackingBean { 

@EJB 
private transient MyService myService; 
private String someValue; 

} 

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

+0

Плохой пример. EJB по умолчанию вводятся как сериализуемые прокси. OP явно не использует EJB. И как бы вы возродили сервис после десериализации? NPE будет возникать при любой попытке доступа к службе. – BalusC

Смежные вопросы