OSGi是一个模块化体系结构,JavaBeans是一个组件体系结构。 什么是差异?'组件体系结构'和'模块化体系结构'之间的区别
1
A
回答
6
OSGi和Java Beans之间的主要区别在于类加载器的工作方式。在标准的.jar文件或EJB中,rt.jar文件或EJB等效文件维护类路径。此外,如果您使用容器来部署应用程序,则可能会有多个导致问题的类路径维护机制。因此,例如,当您创建一个.war文件时,通常会创建一个包含所有.war's .jar依赖项的lib目录。如果您的应用程序中只有一个war或.jar,则不会太糟糕。但想象一下使用100个EJB包含apache-commons的大型企业部署!你最终会得到100个运行在同一个容器中的apache-commons实例,这些实例会吸收资源。
在OSGi中,您将每个.jar文件(我们称之为bundle cuz,现在是OSGi)放入OSGi容器中。每个.jar文件公开(导出)希望其他软件包使用的软件包,并标识软件包的版本。此外,每个捆绑包还明确声明(导入)它需要从其他捆绑包运行的包。然后,OSGi容器将管理所有这些导出并将它们匹配到适当的导入。现在,您可以为每个想要提供的EJB提供apache-commons。您已经取消了/ lib目录,现在您的应用程序占用的资源更少。
在您的问题中,您询问了组件体系结构和模块化体系结构之间的区别。模块化是指将每个捆绑包设置为自己的部署单元并允许其与其他捆绑包进行交谈而不是将它们全部组合成一个大型.jar文件的过程。
相关问题
- 1. GraniteDS插件/模块化体系结构
- 2. ExtJS的模块化体系结构?
- 3. 模块化体系结构 - ASP.NET MVC
- 4. ASP.NET N层/ DDD体系结构和Window服务软件体系结构之间有区别吗?
- 5. 软件体系结构文档和系统设计文档之间的区别
- 6. Android体系结构组件中AndroidViewModel和ViewModel之间的区别是什么?
- 7. 实现模块化体系结构/简单插件系统
- 8. 了解Magento模块的体系结构
- 9. MySQL体系结构优化
- 10. Selenium RC体系结构和Selenium WebDriver体系结构差异
- 11. 模块体系结构/分布
- 12. VHDL结构体系结构和clk'event
- 13. CQRS体系结构优化和变化
- 14. Xcode构建设置中的“体系结构”和“有效体系结构”有什么区别?
- 15. 代码构建和体系结构有什么区别?
- 16. 用户级别和OOP体系结构
- 17. MVC体系结构
- 18. Graphql体系结构
- 19. Rails体系结构?
- 20. mongodb体系结构
- 21. Firebug体系结构
- 22. CakePHP体系结构
- 23. Elasticsearch体系结构
- 24. Android:Manager和SystemService体系结构
- 25. 体系结构和Microsoft.AspNet.Providers
- 26. 模块化应用程序体系结构和Castle Windsor
- 27. 模块化共享服务接口体系结构和Interfaceversiondescription
- 28. QSlider和QSpinBox之间的Qt模型视图体系结构
- 29. AS3事件体系结构
- 30. MigratorDotNet插件体系结构