我有一個類:如何檢查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