Si desea rastrear solo el hilo actual (en lugar de todos los hilos en el sistema, como lo sugiere la sugerencia de Ram), haga lo siguiente:
Thread.currentThread (). getStackTrace ()
Para encontrar a la persona que llama, haz:
private String getCallingMethodName() {
StackTraceElement callingFrame = Thread.currentThread().getStackTrace()[4];
return callingFrame.getMethodName();
}
Y llame a ese método desde dentro del método que necesita saber quién llama. Sin embargo, una advertencia: ¡el índice del marco de llamada dentro de la lista puede variar de acuerdo con la JVM! Todo depende de cuántas capas de llamadas hay dentro de getStackTrace antes de llegar al punto donde se genera el seguimiento. Una solución más robusta sería obtener el rastreo e iterar sobre él buscando el marco para getCallingMethodName, luego dar dos pasos más arriba para encontrar el verdadero llamador.