我有一个类:如何检查Java类是否是当前堆栈跟踪的一部分?
MessageReceiver.java
接收消息,但也可以间接地产生的消息(即然后可能被重新传送到这个类)。我不想处理在堆栈跟踪中使用MessageReceiver.java发送的消息。有没有一种方法可以有效地确定我收到的消息是否来自MessageReceiver.java?
下链是可能的:
MessageReceiver.java -> OtherClass.java -> MessageProducer.java -> MessageReceiver.java
这可能是一样好,因为它..我希望isClassInStack(类>)方法 – jsurls 2012-07-10 14:22:39
我也在寻找类似的东西。一个奇怪的是,你不能真正的调用类,只有名字。字符串匹配不太好,但看起来就是这样做的。 – 2012-07-10 14:28:17
对于Java 9,Stackwalker可能更安全:https://docs.oracle.com/javase/9/docs/api/java/lang/StackWalker.html – 2017-11-02 13:42:16