例子是BlueDavy的OpenDoc上的内容,是一个简单的用户登陆的例子。
启动应用之后
通过http://127.0.0.1:8080/demo/page/login.htm进行访问
我们可以通过控制台输入ss可以看到LADP、DB和ConfigFile三个提供验证的服务的Bundle都在提供服务,
我们通过页面输入用户名和密码,
在后台可以看到打印输出了LDAP验证
好,那我们来stop LDAP验证的Bundle,不需要重启应用,我们直接再次登陆,发现依然可以,控制台打印出DB验证。
那我们接下来关系的事情是,如果我们把三个提供验证的Bundle都stop了,对用户登陆的Bundle会不会影响呢?
由于只能上传三个附件,所以就不截图了。
答案是不会影响,只是在登陆时候,会告诉你没有能够提供服务的Bundle。
也就是说Bundle之间的确应依赖影响,由一个Bundle失效而引起连锁反应是不存在的。
但是从业务的角度上来讲,如果某些Bundle无法提供服务,那整体应用对外提供的服务也会收到很大的影响,即使应用的其他Bundle不受到什么影响。
- 大小: 12 KB
- 大小: 13.4 KB
- 大小: 20.1 KB
分享到:
相关推荐
OSGi(Open Service Gateway Initiative)框架提供了一种强大的模块化系统,它允许可动态部署、更新和卸载服务,使得应用程序能够在运行时进行热插拔。本文将深入探讨如何利用OSGi的特性实现一个基于观察者模式的热...
### OSGi模块管理系统及其动态管理特性 #### OSGi平台概述 OSGi(Open Service Gateway Initiative)服务...综上所述,OSGi不仅是一种强大的模块化框架,更是推动现代Java应用程序走向更加灵活、高效和可靠的基石。
- **动态性**:OSGi 支持服务的热插拔,可以在运行时添加、移除或更新 bundle,而不影响其他服务。 - **依赖管理**:OSGi 的版本管理和依赖解析机制能有效解决类路径冲突问题。 - **灵活性**:Spring OSGi 可以与...
OSGi框架的核心优势在于实现类资源的动态加载、更新和卸载,这一过程常被称为热插拔技术。 OSGi定义了模块化编程的概念,它将程序分为若干个Bundle(通常是jar包),这些Bundle可以独立地被安装、启动、升级和卸载...
模块化模式使得代码组织更加有序,而OSGi(Open Services Gateway Initiative)则是一种实现模块化的动态框架,它在Java环境中提供了强大的服务发现和管理能力。 模块化模式在软件开发中的价值主要体现在以下几个...
- 动态性:介绍如何在运行时安装、启动、停止、更新和卸载模块,实现热插拔功能。 - 服务注册与发现:讲述OSGi服务注册表的概念,以及如何通过服务接口查找和使用其他模块的服务。 - 生命周期管理:讨论模块的...
它为Java开发人员提供了一个框架,使他们能够构建可热插拔的组件,从而实现更灵活、可扩展和可维护的软件系统。在本入门资料中,我们将探讨OSGI的关键概念、优势以及如何通过实战和最佳实践来掌握它。 1. OSGI原理...
在实际应用中,OSGi通常用于需要频繁更新或热部署的场景,如企业级应用服务器、嵌入式系统和物联网设备。比如,Eclipse IDE就是一个基于OSGi的项目,其插件系统就是OSGi的一个实例,用户可以方便地安装、更新和管理...
综上所述,OSGi模块层的设计考虑和实施,不仅有助于解决Java模块化存在的问题,还为Java平台带来了模块化的高级控制,使得开发者能够构建出更模块化、更灵活、更可维护的Java应用。这对于推动Java模块化开发技术的...
OSGi(Open Service Gateway Initiative)是一种Java平台上的模块化系统和动态模块化能力的实现,它为开发复杂的应用程序提供了一种灵活的框架。OSGi允许将应用程序划分为小的、独立的模块,这些模块被称为bundles。...
1. **插件化(Bundles)**:OSGi系统完全基于Bundles(类似于Java的jar包)构建,每个Bundle都是一个独立的模块,能够动态安装、更新或移除,实现了系统的热插拔功能。 2. **动态性**:OSGi提供了完整的交互机制,...
OSGi(Open Services Gateway initiative)...通过OSGi,开发者可以构建更灵活、更可扩展的应用程序,为用户提供更丰富的交互体验和服务。由于OSGi技术的这些特性,它已经成为了Java世界中模块化和动态系统开发的标准。
Equinox是Eclipse基金会提供的一个OSGi实现,它允许开发者构建可热插拔的组件,使得系统具有更好的可扩展性和维护性。本章节的核心内容是将GPS(全球定位系统)和安全气囊服务作为服务发布,同时确保它们对外部...
OSGi的模块化特性允许动态加载和卸载模块,使得应用程序更加灵活和可扩展。 4. **GitHub**:GitHub是全球最大的开源代码仓库,开发者可以在这里分享、协作和存储代码。"OSGi.NET"项目在GitHub上的存在意味着它可能...
OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和可扩展的Java应用程序。它提供了一种灵活的框架,允许开发人员将应用程序分解为独立的模块,这些模块称为服务。OSGI的核心是它的模块系统...
OSGI(Open Services Gateway Initiative)核心是Java平台上的一种模块化系统和动态服务框架,它允许开发者将应用程序分解为独立的、可热插拔的模块,称为"bundle"。标题中的"OSGI Core PDF+Code"指的是包含OSGI R4...
OSGI是一种基于Java的动态模块系统,允许开发者创建可热插拔的模块化应用。通过这种方式,开发者可以独立地开发、更新和管理应用程序的不同部分,而无需重启整个系统。 本资源包含一个名为"OSGI in action.pdf"的...
在OSGI实战教程中,首先需要了解OSGI(Open Services Gateway Initiative)是一个由众多IT公司共同制定的Java模块化标准规范,旨在实现软件组件的热插拔和服务动态管理。OSGI技术允许应用程序通过动态地安装、启动、...
OSGI(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序分解为一系列可独立部署、更新和交互的服务。林昊所著的《OSGI实战》与《OSGI进阶》是深入理解OSGI技术的重要参考资料,适合...
2. **动态性**:OSGi框架支持服务的热插拔,可以在运行时添加、删除或更新服务,而不会影响到其他服务,提高了系统的灵活性和可扩展性。 3. **版本控制**:OSGi框架可以处理不同模块之间的版本依赖问题,确保兼容性...