Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

@Singleton x @Stateful

Gostaria de entender mais a fundo a diferença de comportamento das anotações @Singleton e @Stateful. Entendi que mesmo "gerando somente uma instancia" de objeto, o @Singleton ainda é gerenciado pelo pool, diferentemente do @Stateful. Mas, na prática, qual seria a diferença, existe algum um tipo situação em que um ou outro é mais adequado?

1 resposta
solução!

Oi Paulo, na verdade elas são bem diferentes. A single tem mais a ver com a annotation @Stateless. Quando vc anota alguma classe com @Stateless, o container instancia alguns objetos dela e fica compartilhando os mesmos entre todos os pontos do seu sistema que vc pedir a injeção. O singleton é como se fosse um Stateless, só que você deixa claro para o servidor de aplicação que vc quer apenas 1 instância dele na memória.

Quando vc marca alguma classe com @Stateful, quer dizer que cada vez que um objeto dessa classe for solicitado, o servidor vai garantir que durante aquele intervalo de tempo outro objeto não utilize o mesmo. Stateful vem de manter estado com que solicitou o objeto.

Um erro muito comum, é achar que stateful pode ter atributos enquanto que stateless ou singleton não.. Todos podem, a diferença é a maneira que o servidor de aplicação lida com esses objetos.