現在、OSGi アプリケーションのサービスを ds として実装しようとしています。
残念ながら、サービスにアクセスして消費する方法がわかりません。
私のサービスは次のようになります。
public interface IService {
public void foo(<T> bar);
}
public class ServiceImpl implements IService { public void foo( バー){ ... } }
<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="iservice">
<implementation class="ServiceImpl"/>
<service>
<provide interface="IService"/>
</service>
</scr:component>
それは私が今いる限りです。
しかし、どうすればサービスにアクセスできますか?
次の解決策を試しました: http://it-republik.de/jaxenter/artikel/OSGi-in-kleinen-Dosen-Services-auf-deklarative-Weise-2340.html
しかし、Eclipseは次のインポートを見つけられません
ComponentContext
h**p://www.osgi.org/javadoc/r4v42/org/osgi/service/component/ComponentContext.html私もこの解決策を見つけました: h**p://www.eclipsezone.com/eclipse/forums/t97690.rhtml
しかし、すべてのメソッドをラップする必要があり、Eclipse 固有の API を使用する必要があることに少しがっかりしています。
このソリューションにも同じ問題があります: https://stackoverflow.com/a/11034485/1737519の例では、Eclipse API ではなく Apache Felix API を使用しています。
私がしたいのは、次のようにサービスにアクセス/参照することだけです:
Iservice s = ???;
s.foo(<T> bar);
事前に助けてくれてありがとう!
PSリンクを隠して申し訳ありませんが、2つ以上含めることはできません!