SpringSource DM Server:功能、架构与部署解析
1. 引言
在Java应用开发领域,不同的应用部署和管理方式各有优劣。EAR和WAR文件能将整个应用打包成单一部署单元,而OSGi应用则由众多独立的bundle组成,每个bundle都需单独部署。这种差异导致了OSGi应用在管理多个应用时存在一定困难,同时也引发了服务隔离等问题。SpringSource DM Server应运而生,旨在解决这些问题,并提供一系列集成和管理上的便利。
2. SpringSource DM Server的优势
2.1 解决打包和服务作用域问题
OSGi应用缺乏聚合格式,管理多个应用时需逐个处理bundle,且存在服务冲突风险。例如,当多个应用使用相同名称的服务时,可能会出现服务调用混乱。为解决这些问题,SpringSource DM Server定义了名为Platform Archive(PAR)的逻辑应用单元,实现了应用的聚合和服务的作用域控制。
2.2 实现Spring、OSGi和Java的集成
- 织入问题处理 :Spring框架和Java EE广泛使用织入。在OSGi环境中,由于应用被分割成多个bundle,每个bundle有自己的类加载器,织入操作变得困难。SpringSource DM Server预配置了支持织入的OSGi环境,确保包含切面的bundle刷新时,织入操作能正确传播到需要的bundle。
- 资源协议支持 :OSGi环境默认不支持Java EE应用中常见的资源协议,如file:或j