是否有可能创建蚀的插件自动发现彼此?

我正在开发一套插件,需要在两个主要情况:

  • 单独地
  • 在音乐会。

当单独运行,插件应该"工作"但是,当音乐会,它们将分享一些相同的模型的内容,以及一个插件应该本的用户与清单其他插件来分享内容。例如:

Foo插件检测下 插件可以分享本体:

[]条插件

[]Baz插件

[]不分享

不蚀提供任何内部出版物/探测方法,将有利于这种自动检测的其他插件?

有帮助吗?

解决方案

答案应该被通过 声明的服务, ,它结合了两者的优势蚀xml扩展和组访服务。东西是隐含的动态像访服务,但载的"需求"等日食的扩展。

介绍了在2006年eclipse3.3,你会发现这些概念说明在 这个演讲.

声明的服务,提供选项的定义参考其他服务。它也可以指定基数的参考。基数是指定用两个数字,第一个,0或1,表明可选性,第二个、1或n,表示的多样性。

在实践中,这些 DS(声明的服务) 不容易使用,因为你已经访问BundleContext,意味着跟踪BundleActivator, 这是不是总是很容易...

如果你需要的是界定某种面向服务的组件模型, 这个演讲 应该提供不同的替代现有的今天,以及详细说明这些"声明的服务"


发布什么rcreswick已经找到了有关与DS:

其他提示

好了,访服务注册可以完成的共享基础的服务组在运行时,不插件本身。有几个选项可以促进这一点,例如编码直接向访API,声明的服务,弹簧DM和iPojo(我肯定有其他人)。

你可能想看看这白板模式为手段,实现一种动态的观察员/观察风格的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top