Если я использую @ViewScoped
в JSF, то происходит следующее исключение:java.io.NotSerializableException когда @ViewScoped используется
java.io.NotSerializableException: com.solv.basics.Basics
java.io.ObjectOutputStream.writeObject0(Unknown Source)
java.io.ObjectOutputStream.writeObject(Unknown Source)
java.util.HashMap.writeObject(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
java.io.ObjectOutputStream.writeSerialData(Unknown Source)
java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
я могу решить эту проблему, позволяя боб реализовать Serializable
. Однако я не понимаю рассуждений. Почему это исключение возникает только для области просмотра, а не для других областей?
Есть еще одна причина, и именно это делает MyFaces несколько отличным от Mojarra. Если вы это узнаете, вы получите голосование. – BalusC
@BalusC: Это понятие мелкой и глубокой копии, разница заключается в том, что Mojarra не сериализует состояние в сеансе, когда JSF сохраняет только указатели на это конкретное состояние в сеансе. –
@Shirgill: об этом вы уже спрашивали :) http://stackoverflow.com/q/36574976 – BalusC