osgi - 从 Spring DM 1.2 Spring 3 / KARAF 4.0.10 迁移到 Blueprint、Spring 5 和 KARAF 4.2.0
问题描述
我使用的是 KARAF 4.0.10,它安装了 spring 3.1.4 作为引导功能。我们将 spring 用于 web 模块 (spring-mvc) 和 spring-dm (spring-osgi-web)。
这是我的示例 web.xml。那是我的 web.xml Mvc Servlet
<servlet>
<servlet-name>javorai-api</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.osgi.web.context.support.osgibundlexmlwebapplicationcontext</param-value>
</init-param>
随着我们将 KARAF 升级到 4.2.0,spring 升级到了 5.0.4,spring-dm 不再支持它。现在已弃用。根据互联网搜索,我发现建议继续使用双子座蓝图作为 spring-dm 的替代品。我已经下载了gemini-blueprint/IO、Core 和extender 模块,方法是将其配置为maven 依赖项。
您能否指导一下 web.xml 中应该更改哪些内容以继续使用双子座蓝图作为 spring-dm 的替代品?
还有什么方法可以让它工作而不使用蓝图并直接在 web.xml 中引用 spring jar 文件
解决方案
如果你真的真的需要使用 Spring MVC,你可以使用ServerOsgiBundleXmlWebApplicationContext类,它会工作的。但是我必须警告你,在 osgi 环境下的 spring 是相当骇人听闻的,gemini 经常会弄乱捆绑包的生命周期并且它会破坏 aries-blueprint 捆绑包,除非你应用我为它创建的补丁。
推荐阅读
- java - 更新到新的 intelij IDE 后生成器插件异常
- macos - 如何在 mac osx mojave 上安装 IBM db2 cli 驱动程序
- c# - 使用 AsParallel 的竞争条件
- javascript - Bootstrap-Vue Form Datepicker 的下拉日历变形问题
- c++ - c ++:结构内的std :: vector的std :: vector
- r - 在 R 上使用 Magick 编写多个图像
- c - 在目录 C 中查找文件
- mongodb - 如何在不使用 $facet 的情况下在 mongoDB 中实现分页,因为 AZURE 和 AWS 不支持它
- tsql - SQL Server:将每个单独的列连接成 1 行
- amazon-web-services - 有没有人使用 AWS Glue 构建数据管道来雪花?寻找解决方案