Pessoal,
É possível implementar de alguma forma o conceito de semáforos em EJB (wait / notify)?
Estou utilizando MDBs ao invés de Threads, e tenho um processamento paralelo que deve ser sincronizado.
Alguém tem alguma sugestão?
[quote=ferstring]Pessoal,
É possível implementar de alguma forma o conceito de semáforos em EJB (wait / notify)?
Estou utilizando MDBs ao invés de Threads, e tenho um processamento paralelo que deve ser sincronizado.
Alguém tem alguma sugestão?
Na verdade eu fui mais abrangente para não restringir as respostas…
Bom, é o seguinte:
Eu tinha threads em minha aplicação e precisei convertê-las para MDB.
O problema é que tenho um trecho sincronizado entre 2 threads:
Thread A: insere cartas em um Malote. (exemplificando…)
Thread B: fecha o malote se o malote estiver aberto a mais de 10 minutos.
O malote não pode ser fechado (Thread B) ao mesmo tempo que a Thread A está inserindo uma carta… tem que esperar terminar a inserção da carta. A Thread B fica wait enquando a Thread A não emite um notify… é o conceito de Semáforo.
Eu poderia estar sincronizando o objeto Malote, só que como eu coloco ele na fila, e depois populo com mais coisas, tenho a impressão que a instância não é a mesma.
Além disso li que não deve se usar trechos sincronizados com EJB…
Por isso gostaria de sugestões para resolução deste problema.
Taz,
Obrigada pela resposta, mas será que o AS é tão “esperto” assim para que eu não precise me preocupar com isso… bom, tentarei fazer um teste.
Mesmo assim, eu tb estava pensando nesta solução utilizando TimerService, mas o problema do semáforo permanece… a não ser que o AS controle tudo mesmo…