2

我有一个 Spring3 应用程序,它在启动时需要大约 3 分钟来加载一个大型域模型......当应用程序每隔一段时间部署到生产环境时这很好,但由于停止/启动应用程序。

我做了一些调查,我喜欢使用 OSGi 将我的应用程序分成模块的想法,这样我就可以只部署我的应用程序中正在更改的部分(例如,当我进行更改时不需要部署域模型到持久层);然而,我发现 OSGi 的进入门槛相当高。

是否可以同时使用蓝图来注入模块之间提供的服务(例如,向我的 Web 层公开域模型的实现)并在我的每个模块中继续使用 Spring 框架(而不是 Spring 动态模块)?

4

1 回答 1

0

你不能把蓝图和春天混在一起。它们是两种不同的技术,相似但不兼容。

我也不建议在 OSGi 中使用 spring dm。虽然它适用于一些简单的情况,但它有一个可怕的类加载模型,这会导致 OSGi 中出现大量问题。请参阅Guillaume Nodet 的这篇文章。除此之外,spring dm 被 springsource 抛弃了。自古以来甚至没有错误修复。

春季双子座也几乎被抛弃了。Springsource 将它捐赠给了 eclipse,然后就停止了真正的工作。

因此,如果您想将这一步转到 OSGi,您将不得不切换到 aries 蓝图或声明式服务。所以不要低估努力。

于 2014-02-13T08:42:14.680 回答