【问题标题】:Implementing an eclipse 4 RCP Service实现一个 Eclipse 4 RCP 服务
【发布时间】:2014-03-06 19:17:22
【问题描述】:

也许这是一个愚蠢的问题,但我在网上的研究没有给我答案。我想做的是在 RCP 中实现我自己的服务以向不同的视图提供数据。

我开始涉足 Eclipse 4 RCP 开发,之前使用 Eclipse 3.x。现在,Eclipse 3.x 实现服务的方式是通过扩展点 (org.eclipse.ui.services)。但是现在在 Eclipse 4 上,我读到该扩展点不像以前的版本那样常见。

所以我的问题是在 Eclipse 4 中实现服务的最佳实践是什么?

顺便问一下,OSGi 服务与 Eclipse 平台服务之间有什么区别吗?

谢谢。

【问题讨论】:

    标签: service osgi eclipse-rcp rcp e4


    【解决方案1】:

    如果您正在编写“纯”Eclipse 4 (e4) 应用程序(不使用 3.x 兼容代码的应用程序),那么您将无法使用大部分 org.eclipse.ui.xxx 代码。扩展点仍在使用,但许多事情是由 Eclipse 上下文中设置的对象完成的,可以通过直接注入访问。

    您仍然可以定义 OSGi 服务,通常通过创建component definition file 使用声明式样式(请参阅File > New > Other > Plug-in Development > Component Definition 向导)。

    对于 OSGi 服务,您可以选择使用ContextFunction 来延迟创建服务实例。

    或者您可以简单地将您的服务类实例放入 Eclipse 上下文中 - 您通常会在 LifeCycle 类的 @PostContextCreate 方法中执行此操作。

    这是一个相当广泛的主题,所以我只给出了一个简短的概述。

    【讨论】:

    • OSGi 的一大优点是:OSGi 服务可自动用于 E4 中的注入。
    猜你喜欢
    • 1970-01-01
    • 2012-11-06
    • 2015-07-29
    • 1970-01-01
    • 2014-04-06
    • 2014-11-21
    • 1970-01-01
    • 2016-05-20
    • 2013-04-25
    相关资源
    最近更新 更多