Olá pessoal, fiz um loop que capture de minuto em minuto um valor do contexto da aplicação, para isso, no método contextInitialized() de minha classe listener, instanciei o objeto que contém o loop, quando ele entra no loop ele pára de iniciar a aplicação, e ela tranca aí, fazendo com que a aplicação fique inacessível , acredito que seja porque o loop seja infinito.
Bom gostaria que me ajudassem a resolver esse problema, visto que preciso que esse objeto fique na memória e fazer com que capture esse valor de minuto em minuto.
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos[/color][/size] :joia:
M
matheusPJ
cara esse teu loop vai comer toda a memória do container =p…
while(true)//fiquetestandotalcoisa
:lol:
C
CruzAltensePJ
Certo, mas como então poderia fazer o loop? ou outra maneira de fazer um temporizador? pois tenho que fazer a captura de um valor a cada minuto!!
Pois então além de trancar a inicialização da aplicação ela também come muita memória??? o que faria???
S
Samuel_PessorrussoPJ
Jogue o código do loop em outra thread…
como vc esta executando na mesma thread que chama o contextInitialized(), sua aplicação fica travada até que esta thread retorne do método contextInitialized(), o que nunca acontece pois seu loop é infinito. É só criar outra thread para capturar o valor.
Mas o que você quer fazer é algo incomum. Por que você quer capturar as informações minuto a minuto ? Com certeza tem um meio mais facil de fazer o que você quer.
M
matheusPJ
Threads
C
CruzAltensePJ
“Samuel_Pessorrusso”:
Jogue o código do loop em outra thread…
Mas o que você quer fazer é algo incomum. Por que você quer capturar as informações minuto a minuto ? Com certeza tem um meio mais facil de fazer o que você quer.
Dae Samuel!
Certo vou tentar Threads!!!
Bem o que quero fazer é o seguinte, talvez não seja a melhor abordagem, mas tenho uma variável de contexto que tem o número de usuários com sessão ativa - por isso a classe listener com ContextListener e SessionListener - então com o loop eu faço o teste, se o número de usuários é diferente do atual eu atualizo na base, se não deixo quieto, isso a cada minuto!
Isso tudo porque preciso desse número pra outra aplicação!!
Alguma segestão?
Valeu!
C
CruzAltensePJ
Certo pessoal valeu!!!
Creio que a questão estva no meus “java fundamentals” :oops: com threads vou resolver o problema do loop!!