Desculpe, mas isso seria o pior pattern possível (assim penso eu).
Enum não foi feito para essas coisas.
Use uma classe, um EJB ou qualquer outra coisa…
Java Efetivo é um livro bom, mas ele trata mundo JSE no caso desse singleton, alguma coisas desse livro devem ser beeeeeem analisadas antes de serem implementadas.
palerique
Mas tem como utilizar?
Tem jeito com o Enum?
Hebert_Coelho
palerique:
Mas tem como utilizar?
Tem jeito com o Enum?
Nunca vi ou ouvi falar disso. Sorry.
Raphael_Lacerda
na real nao entendi a do Enum
Hebert_Coelho
Raphael Lacerda:
na real nao entendi a do Enum
Esse livo Effective Java faz um exemplo de Singleton utilizando enum.
Ele mostra que é uma boa usar enum para isso, mas eu não vejo por que utiliza-lo como factory de entity managed.
palerique
Ou Rapha, o Joshua explica que melhor forma de se fazer singleton, para garantir de fato uma única instância é utilizando enum!
Mas me rendi a outra possibilidade, agora vou gastar a memória à vontade!
Se for pensar direitinho foge totalmente do propósito de um enum utilizá-lo como singleton por causa de suas características.
Mas, para efeito de conhecimento, se alguém souber como se faz e quiser postar eu agradeço.!
Valeu people!
Hebert_Coelho
palerique:
Ou Rapha, o Joshua explica que melhor forma de se fazer singleton, para garantir de fato uma única instância é utilizando enum!
Mas me rendi a outra possibilidade, agora vou gastar a memória à vontade!
Se for pensar direitinho foge totalmente do propósito de um enum utilizá-lo como singleton por causa de suas características.
Mas, para efeito de conhecimento, se alguém souber como se faz e quiser postar eu agradeço.!
Valeu people!
Pois é. Hoje você pode usar o @Singleton do EJB, ou o Singleton do Spring e assim vai.
Se não for por conhecimento apenas, não vale a pena. Boa sorte ae.
Raphael_Lacerda
Melhor forma mesmo é usar IoC e delegar a responsabilidade de manter isso pro Container! @Singleton como já foi citado!
Engraçado, li o livro do Joshua e não lembro dessa parte de Enum com Singleton! Vou até reler aqui!
abraços
sergiotaborda
palerique:
Ou Rapha, o Joshua explica que melhor forma de se fazer singleton, para garantir de fato uma única instância é utilizando enum!
Mas me rendi a outra possibilidade, agora vou gastar a memória à vontade!
Se for pensar direitinho foge totalmente do propósito de um enum utilizá-lo como singleton por causa de suas características.
Não, não foge. O Efective Java explica exatamente por quê. A sua decisão não foi errada, vc só esqueceu que em JEE certas coisas não valem, e signleton é uma delas. O seu problema foi querer usar Singeton e não o ter usado enum para isso ( foi um problema conceptual, não de implementação.
Hoje em dia vc pode usar um EJB @Singleton , mas teria que usar JEE 6 e não sei de é isso que vc quer.
O managedbean pode ser qualquer coisa se não precisa se preocupar se é singleton ou não. Deixe o container se preocupar com isso.