NotSerializableException в ManagedBean со службами ViewScoped и Spring

Это управляемый компонент

@ManagedBean @ViewScoped public class DetailItem {
    private static final long serialVersionUID = -7647929779133437125L;
    @ManagedProperty(value = "#{itemServiceImpl}")
    private ItemService servItem;

Это сервис

@Service("itemServiceImpl") @Transactional(value = "transactionManagerLocal") public class ItemServiceImpl implements ItemService {
    private static final long serialVersionUID = 1L;
    @Autowired
    @Qualifier("itemDaoImpl")
    private ItemDAO dao;

но когда я пытаюсь получить доступ к странице, которая использовала «DetailItem», у меня есть следующее исключение:

java.io.NotSerializableException: org.springframework.dao.support.PersistenceExceptionTranslationInterceptor    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)   java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)

Чтобы исправить это, я выполняю переходный процесс servItem и получаю его из applicationContext. Но я понимаю, что это не правильное решение, и другого я не нахожу. Как правильно это сделать?

У меня нет исключений с sessionscoped или requestscoped.


person dsblanco    schedule 24.04.2012    source источник


Ответы (1)


Похоже на аналогичную проблему, например Сериализация ManagedProperty

Реализует ли ItemService Serializable и все ли члены ItemServiceImpl сами сериализуемы?

person tasel    schedule 19.07.2012