Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Exerc8 Aula4 - Completando o sistema e lidar com escopos d JFS 2.

Srs, boa tarde!

Eu observei que nessa aula a classe LivroBean tem uma interface apontada para classe Serializable. Eu não lembro de haver comentários sobre isso no vídeo. Alguém sabe dizer qual o motivo desse relacionamento?

Obrigado.

4 respostas
solução!

Olá Leandro, quando o escopo do seu ManagedBean é diferente de request, ele precisa implementar Serializable. O JSF até tolera sua não implementação, mas se for usar CDI sequer seu código compilará? Qual o motivo disso? Bem, se está em escopo de request, a cada requisição um novo bean será criado, logo, não precisamos nos preocupar em guardá-lo em algum lugar para ficar vivo. Porém, se o escopo dele é maior do que request (SessionScoped ou ApplicationScoped) esse bean terá que ser armazenado em algum lugar para que seja possível recuperá-lo depois. Que lugar é esse? Pode variar de servidor para servidor, mas no final você quer é serializar esse objeto em algum lugar (disco, txt, session, etc.) e depois deserializa-lo. A interface Serializable é uma interface de marcação, serve apenas para dizer que aquele objeto pode ser serializado. Lembro até hoje com RichFace 3.X que havia um componente que não implementava Serializable e quando o servidor tentava serializar a sua view eu recebia "NotSerializableException".

Espero ter ajudado!

Flávio, bom dia!

Sim. Agora está claro. Obrigado.

Beleza Leandro! Se tiver mais dúvidas, não deixe de postar no forum :) Abraço!

Flavio, combinado.