ejb3 sessão

Senhores,
Estou começando a ler sobre assunto e estou com bastante dúvidas. A primeira que não me ficou muito clara é a seguinte,
quando se fala de sessão em beas é o mesmo de sessão da aplicação web?

Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=

[quote=Hebert Coelho]Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=[/quote]

Uhmm… mas pq temos duas sessões? Como elas se comunicam? Pode fazer um exemplo?

[quote=Hebert Coelho]Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=[/quote]

mais uma pergunta vi no seu tutorial sobre ejb, mas seu exemplo usa jboss, não é possível com tomcat :?:

[quote=fabioEM][quote=Hebert Coelho]Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=[/quote]

Uhmm… mas pq temos duas sessões? Como elas se comunicam? Pode fazer um exemplo?[/quote]O exemplo é esse: httpSession.setAtribute(“meuEjbStateful”, meuEjbStateful);

São tecnologias diferentes.

HttpSession lida com chamadas Web. A sessão de um EJB lida com chamadas de algum cliente que pode ser web ou não, mas ele não guardará dados de instância.@Stateful public class MeuEJB // e vai embora...

se você fizer meuEJB.metodo1(); meuEJB.metodo2(); meuEJB.metodo3();

A referência desse EJB vai manter a o objeto vivo, na sessão de EJB.

Por isso que para relacionar a sessão de EJB com a sessão de HttpSession seria necessário fazer: httpSession.setAtribute(“meuEjbStateful”, meuEjbStateful);

O HttpSession se matém vivo enquanto o usuário estiver usando a página ou a sessão não expirar. Por isso que ao colocar uma referência a um EJB Stateful dentro de um HttpSession, o EJB Stateful permanecerá vivo. [=

[quote=fabioEM][quote=Hebert Coelho]Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=[/quote]

mais uma pergunta vi no seu tutorial sobre ejb, mas seu exemplo usa jboss, não é possível com tomcat :?: [/quote]Atualmente não.

Tem um tal de TomEE que consegue. Para rodar EJB precisa de ter um servidor que implemente essa parte da especificação JEE e Tomcat não faz isso. Tem o JBoss e o Glassfish que eu costumo recomendar. [=

[quote=Hebert Coelho][quote=fabioEM][quote=Hebert Coelho]Ele fica alocado na memória do servidor, mas ñ está ligado a um HttpSession.
Imagine que ele é outro Session.

Ele apenas estará ligado ao HttpSession se você fizer algo do tipo session.setAtribute(“meuEjbStateful”, meuEjbStateful). [=[/quote]

mais uma pergunta vi no seu tutorial sobre ejb, mas seu exemplo usa jboss, não é possível com tomcat :?: [/quote]Atualmente não.

Tem um tal de TomEE que consegue. Para rodar EJB precisa de ter um servidor que implemente essa parte da especificação JEE e Tomcat não faz isso. Tem o JBoss e o Glassfish que eu costumo recomendar. [=[/quote]
Grato cara.
Então as sessões webs e a do container do ejb podem se integrar (comunicar) é isso :?:

[quote=fabioEM]Grato cara.
Então as sessões webs e a do container do ejb podem se integrar (comunicar) é isso :?: [/quote]uhum.
Basta você injetar ou realizar lookup de um EJB na camada Web. [=