Threads em EJBs

8 respostas
velo

Opa pessoal,

Andei lendo e pelo que vi não se deve iniciar novas Threads em EJBs.

A questão é que preciso rodar um processo em paralelo, como posso iniciar esse processe sem empacar o usuário?

VELO

8 Respostas

LuizAvila

velo:
Opa pessoal,
A questão é que preciso rodar um processo em paralelo, como posso iniciar esse processe sem empacar o usuário?

Isso é um trabalho para o Conteiner EJB, ele se vira com isso, ou não?

Seria uma enorme sacanagem, vc escrever aquele mundo véio de coisa (interface home, interface remote, bibibi, bababa) e ainda ter que se preocupar com que Thread está rodando…

Ahhh, esqueci de dizer tem um treimzinho que se chama Pool

cv1

Pra processos assincronos, voce pode usar JMS e Message-Driven Beans. Ja que vc ta na lama… :wink:

velo

Sem ser por messagens nem pensar entaum?

LuizAvila

Sem ser por messagens nem pensar entaum?

CV, você está dizendo então que toda a requisição a um componente EJB é executada uma por vez dentro do Conteiner? A não ser que eu implemente JMS? não posso rodar mais de um componente simulatâneo? EJB?

louds

Usar threads e EJB é pedir pra se dar mal, cada container J2EE falha miseravelmente diferente quando vc usa programação concorrente no seu EJB. Threads são receita pra problema dentro de um EJB container. Use JMS, MDBs e seja mais feliz.

N

Que tal JMX ?

Já que você vai jogar o J2EE no saco, usa algo padrão que “talvez” seja compatível com a maior quantidade de servidores possível.

É simples, não é um bicho de 7 cabeças.

:twisted:

louds

net_sandro:
Que tal JMX ?

Já que você vai jogar o J2EE no saco, usa algo padrão que “talvez” seja compatível com a maior quantidade de servidores possível.

É simples, não é um bicho de 7 cabeças.

:twisted:

??? Qual a ligação de uma coisa com a outra?

Luiz, um container EJB usa uma thread por requisição, elas podem ser processadas em paralelo, mas um EJB vai ser acessado por somente uma thread por vez.

N


A questão é que preciso rodar um processo em paralelo, como posso iniciar esse processe sem empacar o usuário?

É isso que ele quer não !? Então não pode ser EJB certo ? Que tal JMX que é uma especificação implementada por diversos servidores J2EE, onde ele pode pegar a aplicação e “plugar”, como faria com um EJB.

Aí ele levanta quantas Threads quiser no seu JMX Bean.

Concordo que JMS ou MDB seja uma boa saída também.

:?

Criado 22 de março de 2005
Ultima resposta 28 de mar. de 2005
Respostas 8
Participantes 5