任何人都可以告诉我组件厂和服务工厂的区别OSGI。我在谷歌搜索了很多,但找不到服务工厂和组件工厂之间区别的明确解释。服务工厂与OSGI组件厂之间的区别
1
A
回答
1
tl; dr:你几乎肯定不想使用ComponentFactory,所以我建议忽略它。
在我解释服务工厂之前,重要的是要明白,OSGi中的大多数服务在概念上是单例。当你注册一个服务时,你将一个Java对象放入注册表中,并且该对象必须实现它已经注册的接口。当客户查找你的服务(使用它的接口)时,他们都会得到同样的对象。
使用服务工厂,您可以注册一个创建实现该接口的对象的工厂。 OSGi使用这个工厂创建一个新的实例,每个消费包使用。这很有用,因为您现在可以为每个消费包提供一个稍微不同的对象。例如,如果您正在实施日志记录服务,则使用服务工厂可以让您跟踪哪些软件包正在调用日志。
但是,服务工厂对消费者完全透明。它只是以正常的方式使用服务。这很好,但有时消费者需要程序控制,即消费者决定何时应该创建服务对象以及何时应该销毁服务对象。这不适用于服务工厂。
部件工厂是提供这种程序控制的早期尝试。我认为它们已经过时了。它们不易使用,因为您必须将提供者和使用者都与Declarative Services API耦合。
现在你应该使用prototype作用域的服务,在OSGi的版本6中引入的,我在博客这些here
相关问题
- 1. 这是服务和工厂之间的区别吗?
- 2. 工厂,供应商和服务之间的区别?
- 3. React.js和jQueryUI构件工厂之间的区别
- 4. 没有托管服务或工厂的OSGi软件包配置
- 5. 厂服务与AngularJS
- 6. 定义服务和工厂分别
- 7. AngularJS:工厂$ http服务
- 8. 服务工厂实现使用的声明式服务在OSGi的
- 9. PLKs和Web服务软件工厂
- 10. 工厂对象与工厂功能
- 11. 通用服务工厂<T>为WCF通道工厂和StructureMap与MVC 3
- 12. Ember JS - 组件vs.工厂
- 13. 可可中的类集群和抽象工厂之间的区别
- 14. 服务工厂不能正常工作
- 15. 在OSGi中加载框架工厂
- 16. 工厂类别的价值
- 17. ASP.NET核心依赖注入:工厂和实例之间的区别?
- 18. Netbeans平台和OSGI之间的区别
- 19. 工厂方法和抽象工厂设计模式有什么区别?
- 20. 存储库和工厂模式之间的差别
- 21. 工厂创建工厂?
- 22. 我应该在哪里使用angularjs中的$ http? - >工厂和服务区别
- 23. 与工厂女孩
- 24. 与工厂女孩
- 25. 立面图案和abstarct工厂图案之间有什么区别?
- 26. “传统”COM和COM +之间的区别(在组件服务中)
- 27. 提供者,服务和工厂在angularJs中的抽象级别
- 28. DI与工厂模式有什么区别?
- 29. 创建片段与工厂方法和Fragment.instantiate有什么区别?
- 30. 服务定位器和工厂设计模式有什么区别?
你的意思是说组件工厂是一个早期尝试提供这种编程控制。这是通过组件工厂达成还是仍然公开?问题是我们没有使用最新的osgi版本。所以我们不能使用OSGi Release 6中提到的示波器 – Shriram
我不明白你的问题,你可以重新翻译一下吗?您是否确实需要消费者通过服务对象进行程序控制?这在实践中很少需要。 –
我的要求是为组件创建组件工厂。我问过你的问题来自你发布的答案。 ie)是否通过组件工厂进行编程控制?编写组件工厂时还有一件事(工厂=“xxxx”),我使用'@service'和'@component'。工厂实施中@serivce的需求是什么? – Shriram