Domanda

è Dopotutto dopo tutto.

Ecco il problema: sto mantenendo un codice J2EE vecchio stile, usando Quartz, in cui sto esaurendo i thread. jconsole mi dice che ci sono poco meno di 60K thread quando va a forma di pera, di cui circa 100 (!!) sono effettivamente in esecuzione. Intuizione e alcuni googling (vedi anche qui ) suggeriscono che ciò che sta accadendo è qualcosa ( Scommetto che Quartz) sta creando thread non gestiti che non vengono mai ripuliti.

Diverse domande secondarie:

  1. C'è uno strumento che posso usare facilmente per tracciare la creazione di thread, quindi posso essere certo che il problema sia proprio Quartz?

  2. Quasi tutto ciò che ho trovato su problemi simili fa riferimento a Weblogic; è un falso indizio per Tomcat?

  3. Qualcuno ha una soluzione nota?

Sono passati anni da quando ho fatto J2EE, quindi non sarei troppo sorpreso se questo è qualcosa che può essere risolto semplicemente.

Aggiorna : sta chiaramente aumentando le discussioni senza limiti, vedi questa trama da jconsole.

 Sono morti, Jim

È stato utile?

Soluzione

  • Prova ad aumentare il livello di registrazione di org.quartz.simpl.SimpleThreadPool per eseguire il debug per ottenere ulteriori informazioni.

  • Se il problema persiste, provare un listener di registrazione. Quartz ha un'interfaccia JobListener, che è specificata nel suo tutorial . Un listener può aiutarti a tracciare l'esecuzione del lavoro. Forse i lavori non finiscono e non si bloccano.

  • Configura org.quartz.threadPool.threadCount per interrompere l'esaurimento dei thread.

Aggiornamento:

  • Inoltre, potresti voler eseguire un dump del thread e vedere le statistiche del thread. visual vm ha un plugin chiamato TDA, oppure puoi usare Analizzatore di dump thread direttamente.

  • Per ogni evenienza, controlla la versione al quarzo per vedere se non ci sono bug conosciuti.

Altri suggerimenti

Hai dato un'occhiata a jvisualvm - ti dà qualche informazione in più.

Inoltre, ottieni le tracce dello stack per vedere cosa stanno aspettando i thread. Potresti avere una sensazione di aha proprio lì.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top