现在基本不怎么用了,OSGi主要的价值,在实际中体现得不太明显
比如类隔离,用更简单的自定义ClassLoader也可以实现;单机多版本服务,用的场景也很少;热部署也不是很实用
但是,基于OSGi框架做开发,复杂度的上升又是显而易见的。因此,用很高的代价,只能换来较少的收益,在开发人员之间推动很困难,渐渐地就不怎么用了
我们之前的一个产品,也是类似的情况。公司内部一个平台,三年前的一个主要卖点就是OSGi架构,好处也就是OSGi官方宣传的那一套,而现在最新的版本也在“去OSGi化”,有一种走了弯路的感觉
我个人觉得,除了明显增加开发复杂度之外,OSGi还有一个问题,就是和java ee规范的兼容性,离完美还是相去甚远。就连最简单的一个问题,“OSGi框架与servlet框架嵌套”,现在虽然有方案,但是同样相当复杂。我觉得对于OSGi,目前还是保持适度的关注就可以了