有没有任何方法可以知道在运行时哪些方法在Java中被调用。实际上,我正在尝试检测那些正在被调用的方法,并根据那些被调用的方法,使用Java反射APIS从另一个类调用另一个方法。这样,我想先将执行转移到我的方法上,然后调用那些正在运行的方法。
e.g
//Method Invoked_Method = "get the invoked method here "
if(Invoked_Method.equals("somemethodName"){
//invoke Another method ..
}虽然这是一个安全漏洞,但我正在为安全产品团队工作。所以得试试这个。
发布于 2013-09-16 23:19:28
您可能想考虑AOP:http://aopalliance.sourceforge.net/
这允许您拦截匹配特定表达式的方法调用,并增强或更改该方法的默认行为。
如果您已经在使用它们,Spring和Guice框架提供了相对容易地利用AOP的方法。
发布于 2013-09-16 23:13:58
我想您的意思是您需要在运行时跟踪这个调用堆栈。我找到了一条关于这个的线索。Check this out
https://stackoverflow.com/questions/18838812
复制相似问题