0

私のプロジェクトでは、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は機能し、制御フローで渡されます。

しかし、1 つの方法の原因:

java.rmi.ServerError: Error occurred in server thread; nested exception is:
            java.lang.AbstractMethodError: some.package.SomeClass.method(I;String;ThreadId;)String;

このエラーが発生する理由がわかりません。説明していただけますか?または、それを解決する方法を提案してください。どんな助けでも素晴らしいでしょう!

4

1 に答える 1

1

メソッドは抽象的です。抽象メソッドのメソッド シグネチャを変更し (これで問題ありません)、実装を変更しようとしましたか (何もありません)。抽象的かどうかを確認し、コードの変更をスキップしてください。

于 2012-09-07T11:14:39.573 に答える