| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 12:59:07
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Olá,
Estou fazendo alguns teste com EJB aqui, fiz um sisteminha login, Possuo um SessionBean chamado LoginBean sendo este Stateful, que instancio no servlet de Login e faço o login normalmente. Após o Login vou chama-lo em outro servlet e o objeto Usuario que possuo no SessionBean está null, não sei porque, ele não deveria conter os dados de quando o login foi efetuado?
This message was edited 1 time. Last update was at 12/01/2009 12:59:59
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 13:29:32
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
Depende.
Stateful Session Beans (SFSB) são são a mesma coisa que sessão da web.
O que deve ter acontecido com você é o seguinte: numa requisição você obteve a referência a um SFSB e o descartou, não armazenando na sessão da web. Na outra requisição, você pediu, de novo, um SFSB; e como é uma nova requisição, veio uma nova instância pra você. Você pode até usar um SFSB, mas deve armazenar a referência na sessão para poder utilizá-lo depois.
É claro, é só um chute meu. Pode ser que não seja isso.
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 13:32:07
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Hmmm estranho pois se necessito armazenar em uma sessão, então o uso de Stateful não teria sentido, pois posso guardar "qualquer coisa" na sessão, aí Stateful não haveria utilidade.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 14:40:54
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline
|
leoloko,
Uma coisa que pode estar acontecendo é que quando acontece o activate/passivate do Statefull, ele não deve estar Serializado, ou algum atributo dentro do SessionBean não está serializado
|
Jair Rillo Junior
http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 14:48:31
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Jair Rillo Junior wrote:leoloko,
Uma coisa que pode estar acontecendo é que quando acontece o activate/passivate do Statefull, ele não deve estar Serializado, ou algum atributo dentro do SessionBean não está serializado
Bom meus session beans implementam a classe Serializable, preciso fazer alguma coisa além disso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 14:56:02
|
tnaires
GUJ Master
![[Avatar]](/images/avatar/5f6371c9126149517d9ba475def53139.png)
Membro desde: 22/12/2003 08:05:58
Mensagens: 1678
Localização: Porto Alegre/RS - Natal/RN
Offline
|
leoloko wrote:Bom meus session beans implementam a classe Serializable, preciso fazer alguma coisa além disso?
Não o Session Bean, mas sim seu objeto Usuario.
|
Tarso Nunes Aires
Blog - http://cabritin.wordpress.com/
Delicious - http://delicious.com/tnaires
Twitter - @tnaires
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 15:05:01
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
E como eu resolvo esse problema?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 15:13:33
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline
|
se você tiver uma classe Usuario, adicione o implements Serializable nela., assim como em todos os outros atributos/objetos
|
Jair Rillo Junior
http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 15:20:47
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Então eu tenho a entidade Usuario, que já está implementando a classe Serializable.
Será que pode ser a forma que eu estou instanciando?
Atualmente eu faço isso
Outra coisa, tanto as entidades, quanto os sessionbean e os servlets implementam a Serializable.
Porem é obrigatorio ter akela variavel "serialVersionUID = 1L;" e isso influencia em alguma coisa?
This message was edited 8 times. Last update was at 12/01/2009 21:34:24
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/01/2009 21:32:36
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Então eu tenho a entidade Usuario, que já está implementando a classe Serializable. Será que pode ser a forma que eu estou instanciando? Atualmente eu faço isso Outra coisa, tanto as entidades, quanto os sessionbean e os servlets implementam a Serializable. Porem é obrigatorio ter akela variavel "serialVersionUID = 1L;" e isso influencia em alguma coisa?
This message was edited 2 times. Last update was at 12/01/2009 21:34:07
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 11:46:36
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 984
Localização: São Paulo
Online
|
leoloko wrote:Olá,
Estou fazendo alguns teste com EJB aqui, fiz um sisteminha login, Possuo um SessionBean chamado LoginBean sendo este Stateful, que instancio no servlet de Login e faço o login normalmente. Após o Login vou chama-lo em outro servlet e o objeto Usuario que possuo no SessionBean está null, não sei porque, ele não deveria conter os dados de quando o login foi efetuado?
Posta o código ae!
|
"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 12:51:35
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
Fiz um exemplo bem simples, e ocorre o mesmo problema...
UsuarioBean.java
UsuarioBeanLocal
Servlet1
Servlet2
Ao acessar o Servlet1, tudo funciona beleza... porém quando vou no Servlet2, acontece um java.lang.NullPointerException ao acessar o ubl.getNome();
Tá difícil a situação aqui... rsrsrs
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 13:31:37
|
jgbt
GUJ Master
![[Avatar]](/images/avatar/25df35de87aa441b88f22a6c2a830a17.png)
Membro desde: 04/06/2003 15:01:48
Mensagens: 1286
Localização: Porto Alegre/RS
Offline
|
Se vc acessa:
e nome estiver nulo, tem que imprimir null, e não dar exception.
Provavelmente a variavel ubl deve estar nula, o que significa algum erro no lookup.
[]´s
|
João Bier
Desenvolvedor Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/01/2009 15:45:31
|
leoloko
JavaChild
Membro desde: 15/05/2005 12:05:19
Mensagens: 149
Offline
|
jgbt wrote:Se vc acessa:
e nome estiver nulo, tem que imprimir null, e não dar exception.
Provavelmente a variavel ubl deve estar nula, o que significa algum erro no lookup.
[]´s
Bom fiz o seguinte teste... alterei os servlets para dar um print aki:
Servlet1
Aqui ele exibe: 16:08:07,974 INFO [STDOUT] Servlet1 -> UsuarioBean:a5x2s26-5f85r2-fpwxrfn0-1-fpwxscxq-8
Servlet2
Aqui ele exibe: 16:08:20,776 INFO [STDOUT] Servlet2 -> UsuarioBean:a5x2s26-5f85r2-fpwxrfn0-1-fpwxsmu6-9
Logo na seguencia ele da um exception
Portanto aparentemente o objeto ubl está ok, sendo somente o atributo em null... já to ficando doido
This message was edited 1 time. Last update was at 13/01/2009 15:56:48
|
|
|
 |
|
|