ServiceRegistrationを使用してリモートオブジェクトから関数を使用しようとしているknopflerfish環境で作業しています。例として説明します。AとBの2 つのバンドルを作成しました。バンドルBには、 2 つのメソッドを実装したクラスCがあります。
public void printIt(JSONObject toPrint) {
logger.debug(toPrint);
}
public void printIt(String toPrint) {
logger.debug(toPrint);
}
public JSONObject returnedJ() {
return (new JSONObject());
}
public String returnedM() {
return "hello";
}
このクラスCは、 Bのアクティベーターで初期化され、ServiceRegistration を使用して登録されるため、バンドルAからリモート オブジェクトとして使用できます。 Aのアクティベーターは、そのメソッドを使用するために登録済みのオブジェクトCを取得するだけで、ここで問題が発生します。リモート オブジェクトを使用できますが、String を使用するメソッドのみが機能し、JSONObject のメソッドは機能しません。これは誰かに起こりましたか?説明はどれですか?
この動作のデバッグと try/catch の使用をテストしましたが、エラーは表示されません。また、 JSONObject メソッドを使用すると、バンドルAがフリーズし、クラスCからのメソッドにシグナルがないことも言わなければなりません。今のところ、バンドルA のJSONObject から String へ、およびバンドルBの String から JSONObjects へのオブジェクトを解析しますが、これはまだ私を悩ませています。
PD: org.codehaus.jettison.json.JSONObjectを使用しています。
前もって感謝します。