| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/12/2011 20:53:21
|
sunwebdeveloper
Debugger
Membro desde: 18/12/2008 23:40:58
Mensagens: 50
Offline
|
Boa noite galera...
Estou com uma dúvida conceitual...
Estou trabalhando com JSF 1.2(Mojarra+Facelets+Primefaces) e JPA 1.0 (Hibernate), através do JBoss AS 5.1.
Meus ManagedBeans estão implementados como um exemplo abaixo:
Obs. Esse MB está configurado com escopo de sessão.
Pois bem, nunca trabalhei com JSF, e estou entendendo que o container se comportará de forma parecida que ele se comporta com os EJBs...
Se não me engano, no caso dos EJBs stateless, o container controla a qte de instancias de beans no pool(podendo ser configurado), e quando as elimina, mata as entity managers, e no caso dos statefuls, a passivação e ativação tb mata as entity managers, cuidando assim dos objetos caros(conexões com DB), além dos controles transacionais CMT e BMT, estou certo?
E no caso do meu managed beam acima, como funciona? Esse codigo funciona perfeitamente, mas é a forma mais correta de se trabalhar com entity manager e transactions nos Managed Beans?? existe uma boa prática? estou usando tudo de javax.*, funcionaria em outros containers como websphere e weblogic ??
Obrigado,
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 07:43:28
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
cara,
minha opinião, eu criaria mais uma camada, Facelete, nela vc teria a sua regra de negocio e la vc faria a injeção do EntityManager e deixaria a MB para so camada de controller.
t+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 09:05:35
|
sunwebdeveloper
Debugger
Membro desde: 18/12/2008 23:40:58
Mensagens: 50
Offline
|
Alisson Value cara...
Essa camada seria uma pojo? com as injeções via anotações feitas no MB, e no MB eu soh criaria as referencias a essas classes??
O container consegue injetar esses caras em um simples pojo???
E com relação aos recursos(Entity manager, connection db) ficarem abertos em um MB com escopo sessao?? Isso que eu qria entender...
Valeu cara !!!!
Abraços
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 09:09:42
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
cara, desculpa escrivi errado
é Facade a camada, eu trataria ela com EJB, pq vc deixaria por conta do container gerenciar tudo em relação a entitymanager para vc, com vc so se preucuparia com a regra de negocio msm. E no MB vc teria so uma injecao do Facade com a anotação @Ejb.
t+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 09:11:49
|
sunwebdeveloper
Debugger
Membro desde: 18/12/2008 23:40:58
Mensagens: 50
Offline
|
Então cara, mas o problema é que eu não tenho essa opção... o projeto não suporta ejb...
Minha duvida mesmo é saber como esses entity managers irão se comportam em um MB com escopo sessão....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 09:21:10
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
entendi,
ele vai comportar da forma normal, vc so vai ter que fazer um controle da transação no dao na mao.
t+
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 11:11:05
|
sunwebdeveloper
Debugger
Membro desde: 18/12/2008 23:40:58
Mensagens: 50
Offline
|
Mas Vc viu isso que eu fiz:
e na hora de persistir:
Cara, enquanto esse MB estiver na sessão, a EM fica ativa e com a connection aberta?? Se eu tiver 100 usuários acessando essa tela terei 100 connections presas???
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2011 11:24:43
|
alissonvla
GUJ Master
Membro desde: 17/04/2006 15:29:07
Mensagens: 1491
Offline
|
como vc ta injento o EntityManager, o container vai controlar para vc, vc pode colocar na configuração do seu persitence.xml, configurações de pool de conexão.
t+
|
|
|
 |
|
|