Vejam o meu problema, tenho um sistema que abre várias threads e elas salvam os dados no banco, estou usando o Hibernate, entao sempre para cada thread eu tenho uma conexao, nao quero isto que que o meu numero de threads sejam maior do que o numero de conexoes, ou seja, na thread quero que o objeto a ser salva va para um cache grava na base de dados atraves de um pool, como implementar isso?
Eu ja uso isso, acho q vc nao entendeu o que eu postei. Veja eu tenho uma thread que dentro dela recupera os dados de um equipamento e grava no banco atraves de um dao, abrindo sempre uma session ou seja, uma conexao. Na minha classe main eu crei um pool de threads atraves do executor de 40 execuções, isto porque o meu banco so suporta 50, o que eu quero, é executar por exemplo 1000 threads ao mesmo e estas não fazeram a abertura de conexoes enviar para outra aplicacao ou outra classe que com as 40 conexoes abertas crie uma fila com os objetos vindo das minhas threads e entao persite na base de dados.
ViniGodoy
Nesse caso, crie uma classe com uma fila de mensagens, que controle as 40 threads que salvam no banco. Então, faça as outras N threads enviarem requisições para essa classe somente através dessa fila.
Para a fila, você pode usar a classe LinkedBlockingQueue.
pauloperes
Kra, vc tem algum exemplo?
Vc é de cta tbm né?
pauloperes
Vini,
Veja, estou pensando em colocar minhas aplicaoes em um servidor de aplicacoes, no caso o Glassfish, também poderia usar jms para isso?
ViniGodoy
Se cta é Curitiba, então sou sim. Nâo tenho nenhum exemplo de “bate-e-pronto”. Esse assunto é relativamente complexo, teria que elaborar um.
Não sei quanto a parte de web, trabalhei mais com java para desktop.