我有一个Spring3应用程序,在启动时加载一个大域模型大约需要3分钟...当应用程序每隔一段时间部署到一个生产环境时这很好,但是在进行开发更改时会非常痛苦由于停止/启动应用程序。
我已经做了一些调查,我喜欢使用OSGi在模块中分离我的应用程序的想法,这样我就可以只部署我的应用程序中正在发生变化的部分(例如,我不需要部署域模型) m对持久层进行更改);但是我发现OSGi的入门门槛非常高。
是否可以使用Blueprint注入模块之间提供的服务(例如,将域模型的实现暴露给我的Web层),并继续在我的每个模块中使用Spring框架(不是Spring动态模块) ?
答案 0 :(得分:0)
你不能混合蓝图和弹簧。它们是两种相似但不兼容的独立技术。
我也不建议在OSGi中使用spring dm。虽然它适用于一些简单的情况,但它有一个可怕的类加载模型,导致OSGi中的大量问题。见this article from Guillaume Nodet。除了春天dm被泉源抛弃了。自年龄以来,甚至没有错误修复。
Spring Gemini也几乎被遗弃了。 Springsource将它捐赠给eclipse,然后停止真正的工作。
因此,如果你想向OSGi迈出这一步,你将不得不切换到aries蓝图或声明性服务。所以不要低估这种努力。