Vale a pena observar o seguinte quanto a pergunta: 
 
         3. "se a sess�o cair como eu fa�o para remover o Session Bean
Stateful ?"
             Nos Appserver que conhe�o, pode ser configurado o timeout dos
session beans.
             Portanto se isto acontecer o container trata de dar um remove()
no infeliz que estah lah parad�o !!!
            


-----Mensagem original-----
De: Otus Apollo [mailto:otusapollo@;yahoo.com.br]
Enviada em: Thursday, October 24, 2002 9:50 AM
Para: [EMAIL PROTECTED]
Assunto: [enterprise-list]
Re:_[enterprise-list]_Duvida:_Acessar_Session_Bean_Stateful_atrav�s_de_uma_S
ervlet



Muito obrigado pelas dicas. 


 Michael Nascimento Santos <[EMAIL PROTECTED]> wrote: 


Otus,

1. "Pessoal gostaria de um exemplo em acessar um Session Bean Stateful a
partir de uma Servlet."

Exemplo (feito na unha, pode ter algum errinho... :-)):

package exemplo.servlet;

import javax.naming.*;
import javax.servlet.*;
import javax.servlet.http.*;
import exemplo.sessionbean.*;

public class ExemploServlet extends HttpServlet {
private ExemploSSBLocalHome home;

public void init() throws ServletException {
try{
final Context ctx = new InitialContext();
home =
(ExemploSSBLocalHome)ctx.lookup("ejb/ExemploSSBLocalHome");
} catch (final NamingException ne) {
log("Lookup Exception: ", ne);
throw new UnavailableException(ne.getMessage());
}
}

public void doPost(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
ExemploSSBLocal local = home.create();
response.getWriter().print(local.getAlgumaCoisa());
...
}
...
}

2. "aonde eu guardo a refer�ncia do Session Bean Stateful"
Bem, no seu caso, geralmente na Session...

algo como:

HttpSession session = request.getSession(true);
session.setAttribute("SSB", local);

3. "se a sess�o cair como eu fa�o para remover o Session Bean Stateful"
Hum, pergunta realmente interessante e nao trivial ... :-)

Consigo pensar em duas possibilidades:

- Ao inves de colocar o SSB direto na Session, use um JB q implement
HttpSessionBindingListener como wrapper e no valueUnbound chame o metodo
remove do seu SSB;
- (meio bizarra, mas lah vai...): Implemente HttpSessionListener e no
sessionDestroyed remova o SSB... :-)

--------------------------------

Como comentario geral, nao recomendo o acesso direto dos Servlets ao layer
de EJB; assim vc amarra mto sua aplicacao. Tente aplicar o pattern Business
Delegate. D uma peskisada na net sobre ele.

[]s
Michael Nasc imento Santos
Sun Certified Programmer for the Java 2 Platform
Sun Certified Programmer for the Java 2 Platform 1.4
Moderador SouJava - http://www.soujava.org.br

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]





  _____  

Yahoo! GeoCities <http://br.geocities.yahoo.com/> 
Tudo para criar o seu site: ferramentas f�ceis de usar, espa�o de sobra e
acess�rios.


---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a