Using both Blueprint and Spring (Not spring-dm) with OSGi

纵然是瞬间 提交于 2019-12-11 01:58:12

问题


I have a Spring3 application which takes about 3 minutes to load a big domain model on startup... this is fine when the application is deployed to a production environment every once in a while but its a massive pain when making development changes due to the stopping/starting of the application.

I've done a bit of investigation and I like the idea of separating my application in modules using OSGi so that I can deploy only the parts of my application which are changing (e.g. No need to deploy the Domain Model when I'm making changes to the Persistence layer); However I've found the barrier to entry for OSGi to be quite high.

Is it possible to use both Blueprint to inject the services provided between modules (e.g to expose implementations of the domain model to my web tier) and to continue to use the Spring framework (not Spring Dynamic Modules) inside each of my modules?


回答1:


You can not mix blueprint and spring. They are two separate technologies that are similar but incompatible.

I would also not recommend using spring dm in OSGi. While it works for some simple cases it has a horrible classloading model that leads to massive problems in OSGi. See this article from Guillaume Nodet. Besides that spring dm was abandoned by springsource. There are not even bug fixes since ages.

Spring Gemini is also practically abandoned. Springsource donated it to eclipse and then ceased to really work on it.

So if you want to go this step to OSGi you will have to switch to aries blueprint or to declarative services. So do not underestimate the effort.



来源:https://stackoverflow.com/questions/21733665/using-both-blueprint-and-spring-not-spring-dm-with-osgi

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!