Dúvida estrutural de EJB

2 respostas
E

Eu sei que na utilização de um EJB não devo me preocupar com as threads, que o container cuida disso pra mim. Mas ainda não está muito claro pra mim como o container trata as chamadas a um determinado bean. Eu sei que ele cria um pool de instâncias e vai compatilhando estas instâncias com os clientes, por questão de performance.

Mas no caso de 2 clientes acessarem o mesmo EJB simultaneamente, o container rodará cada uma das 2 instâncias simultaneamente em 2 threads diferentes ou vai executá-las uma de cada vez numa fila em uma única thread?

2 Respostas

B

Vai depender do seu tipo de bean…Beans de mensagem e de entidade são concorrentes,você pode
ter várias threads compartilhando a mesma instância, já Beans de sessão não são concorrentes
você terá uma thread para cada instância.

W

Nada de fila, se ocorrer acesso exatamente ao mesmo tempo, 2 instâncias são usadas, uma thread para cada cliente, a não ser que o limite da pool tenha chegado ao máximo, aí uma das threads vai ter que esperar alguma instância ser liberada por algum cliente.

Criado 29 de novembro de 2009
Ultima resposta 29 de nov. de 2009
Respostas 2
Participantes 3