我想在OSGI中创建一些抽象包。我们的想法是,当我们说捆绑Ax(x从1到9)需要通过B提供的服务绑定到捆绑B时,这可以通过制作asbtractA(因此Ax扩展abstractA)来更容易地完成。 / p>
这里abstractA是一个带有一个declerative服务文件的包。 xml文件描述了绑定B的引用服务,并在相应的abstractA类中实现了绑定unbind和start方法。
让我们假设Ax有一个自己的start方法,startx,并绑定到几个服务,所以bundle有自己的.xml文件。
问题:是否会启动(来自abstractBundle)和startx?是否会发生bundleAx和bundleabstractA的引用服务的绑定?
答案 0 :(得分:1)
无法在OSGi中创建抽象包。你可以做的当然是使用抽象类来分享捆绑包之间的一些功能。
顺便说一下。如果您想要实现的唯一目的是共享DS xml文件,那么您应该查看DS的基于注释的配置。这样就不需要完全编写xml(它可以通过maven插件从你的注释中生成)。
答案 1 :(得分:1)
虽然我当然不清楚您的具体细节,但我质疑继承的使用情况'这里。在我看来,使用它们可能会更好: