自定义OSGi包

时间:2014-03-31 15:11:01

标签: osgi

定制发送给客户的OSGi捆绑包的最佳做法是什么? 该捆绑包具有50个API的服务,客户希望扩展或继承单个API。客户是否必须创建新捆绑包或是否可以修改现有捆绑包? 我希望客户不必修改基本捆绑包,是否可以简单地用自定义捆绑包替换基本捆绑包?如何处理流程自动化,每次我发送基本捆绑包时,客户将提取捆绑包内容,使用自定义版本的类重新打包此基本内容,使用适当的弹簧配置并使用不同的名称或版本号重新绑定。然后在OSGi容器中用此自定义版本替换基本包。我假设基础包只有Exports接口而不是实现类,所以没有人可以直接继承实现类。

1 个答案:

答案 0 :(得分:1)

您的捆绑包在其导出的包中有公共合同。您的客户可以编写一个包,导入您的包并使用它们。客户还可以导出(他自己的)包,其中包括扩展(或委托)到您的类型的类型。然后,此导出的包是客户的公共合同,供其客户(包括公司内部客户)使用。

我认为您不想进入客户修改捆绑包以进行自定义的地方。