Criação de Timer

2 respostas
loco_on_line

Ola,

Tenho uma duvida um pouco complicada.

Gostaria de desenvolver um Timer ( Um objeto que executa uma tarefa no momento X do tempo).

Estava estudando o Quartz, só que ele cria uma thread e coloca ela em wait por X tempo. O problema disso, é que se eu utilizar alguma servidor de aplicação, vou estar criando thread de thread, e isso não é uma arquitetura ideal.

Outra opção que encontrei, seria colocar o objeto em wait, mas não sei se assim ele iria liberar a thread que esta ocupando, se não liberar, só poderei ter um numero de objetos em wait igual ao meu numero de thread.

Alguém sabe me responder se colocando o objeto em wait ele libera a thread?

Alguém tem mais alguma sugestão?

Obrigado.

2 Respostas

T

Não há problemas de usar o Quartz em um application server. Pode ser também que seu application server suporte Timer EJBs.

loco_on_line

O quartz faz o deley dele criando um thread e colocando ela em wait.

Só que um application server já cria e configura as threads que as aplicações devem rodar, e o quartz não segue essa regra, ele simplesmente atropela as normas do application server.

E ai que começa as merdas, já vi um ambiente “crecha” pq uma cara usava o quartz e o quartz gerou 700 threas.

Ai vc soma, 700 do Quartaz + 100 do ambientes, não tem CPU que consiga gerenciar isso.

Fora que cada thread do quartz aloca 1 objeto, e no cenário, 700 objetos, o que ajudou a estourar um OutOfMemory.

Criado 4 de setembro de 2008
Ultima resposta 4 de set. de 2008
Respostas 2
Participantes 2