In dem Client-Programm, auf dem ich arbeite, versenden wir Serveraufrufe an verschiedene Threads, um die Benutzeroberfläche nicht zu sperren (äquivalent zu einem SwingWorker).Wie kann der ursprüngliche Stack-Trace in einem neu erstellten Thread nachverfolgt werden?
Dies wird mit einem Modellklasse erbt eine abstrakte Klasse, welche die „update“ Verfahren, hergestellt, das den neuen Faden bereitet, und in diesen neu geschaffenen Gewinden (plus anderen Optimierungen)
den Code aus einer abstrakten Methode ausführtEs funktioniert korrekt, aber mein Problem ist, dass es beim Debugging (oder Logging) schwer ist, den genauen Weg der Methode "update" zu verfolgen, da der Stack-Trace mit der Erstellung des neuen Threads endet.
Was wäre der richtige Weg, um den Stack-Trace zu verfolgen, der dazu führte, dass dieser neue Thread aufgerufen wurde? Idealerweise in einer Weise, die im Stack-Navigator des Debuggers angezeigt wird (in diesem Fall von Eclipse; die Idee besteht darin, einfach im ursprünglichen Kontext zu navigieren).
Speichern der Stack-Trace (oder in diesem Fall eine Ausnahme) wäre in der Tat eine Idee. Leider würde es die Information nur in "Variablen" geben, nicht im Stackbaum von Eclipse. Aber ich denke, dass es zu trickreich/hacky wäre, wenn es dort auftauchen würde. – Gnoupi