现在我尝试将我的 OSGi 应用程序的服务实现为 ds。
不幸的是,我无法弄清楚如何访问使用该服务。
我的服务如下所示:
public interface IService {
public void foo(<T> bar);
}
公共类 ServiceImpl 实现 IService { 公共无效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尽管该示例使用 apache felix api 而不是 Eclipse api。
我想要做的就是访问/引用这样的服务:
Iservice s = ???;
s.foo(<T> bar);
感谢您提前提供帮助!
PS sry 屏蔽链接,但我不能包含超过 2 个!