在我的项目中,我ASM
用来更改方法签名。我选择使用 RMI 的方法并以这种方式更改它们:
从:
String f(int i, String s) {
...
}
至
String f(int i, String s, ThreadId t) {
log(t)
...
log(t)
}
并从
a.f(i,s);
至
a.f(i, s, t);
所以定义和调用都改变了。
令人惊讶的是,它在某些情况下有效,并ThreadId
通过控制流传递。
但是一种方法导致:
java.rmi.ServerError: Error occurred in server thread; nested exception is:
java.lang.AbstractMethodError: some.package.SomeClass.method(I;String;ThreadId;)String;
我不知道为什么会发生此错误。你能解释一下吗?或者也许给我一些建议我应该如何解决它?任何帮助都会很棒!