gpt4 book ai didi

java - OSGi 中的声明式服务与蓝图服务

转载 作者:搜寻专家 更新时间:2023-11-01 01:30:33 25 4
gpt4 key购买 nike

OSGi 中的声明式服务和蓝图式服务有何区别?因为两者都是为了在 osgi 中实现依赖注入(inject)。蓝图服务是否可以替代声明式服务?还是蓝图服务填补了声明式服务的限制(如果有的话)?

最佳答案

恐怕这个问题没有简单的答案。我建议阅读两者的规范以了解差异的程度。声明式服务是服务纲要的第 112 节,蓝图容器是同一文档的第 121 节。您可以在此处获取核心和纲要文档: http://www.osgi.org/Download/Release4V42

但对我来说,最显着的区别是(在 DS 术语中)蓝图服务可以在没有它所依赖的服务存在的情况下激活。容器创建代理服务,这些代理服务会阻塞,直到实际实现可用为止。我相信这类似于 Spring 的方法,并且习惯于使用 Spring 的 IOC/DI 方法的人将立即获得 Blueprint,尽管我无法根据从未使用过 Spring 或 Blueprint(还)的个人经验发表评论。

由于我们处理的是 OSGi 服务,因此可以根据需要混合搭配 DS 和蓝图。到目前为止,我还没有发现需要做任何比使用 DS 可以实现的更复杂的事情,所以我不确定 Blueprint Container 规范满足什么用例,尽管从规范来看,Blueprint 确实提供了相当多的功能为了简化组件开发。

我相信添加它主要是因为 J2EE 开发人员会发现它很熟悉,但这只是我的意见。 :)

关于java - OSGi 中的声明式服务与蓝图服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1979370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com