【发布时间】:2013-04-03 15:57:53
【问题描述】:
我们最近将我们的应用程序从 servlet 2.5 转换为 servlet 3.0,以便我们可以使用动态 servlet 配置。
我们正在使用 Spring 的 SpringServletContainerInitializer 来初始化我们的应用程序,并使用我们代码中对应的 WebApplicationInitializer 实例来初始化我们的应用程序。这种方法在 Tomcat 中有效,但是在部署到 Websphere 8.5.0.1 时,SpringServletContainerInitializer 无法在我们的代码中找到 WebApplicationInitializer 接口的实现,因此没有创建我们的 Spring MVC 调度程序 servlet。
我们在网上找到了one blog post,作者无法让它工作。
我们尝试过弄乱类加载器、类加载顺序,并通过其他方式验证 servlet 3.0 在容器中是否正常工作,而且似乎没问题。使用 WAS 类加载器查看器,我们可以看到 SpringServletContainerInitializer 类和 WebApplicationInitializer 接口已加载,但未加载我们的 WebApplicationInitializer 实现。
有人在 Websphere 中尝试过吗?我们认为这可能是类加载器问题,但最终毫无头绪。
【问题讨论】:
-
您尝试过 WebSphere 论坛吗? ibm.com/developerworks/community/forums/html/…
-
看起来我们可能要摆脱 WebSphere。这让我们失去了数周的生产力(在诸如此类的问题上),而且似乎没有提供组织计划使用的价值。
-
我知道这是一个古老的评论——如果你不是真的在一些非常商业和必须认证的环境(银行等)中拥有 websphere 这些天是绝对没用的。它只会让开发人员变慢,而且 IBM RAD 也无济于事。你解决问题了吗?在 websphere 8.5 中运行 spring boot + vaadin 应用程序时我遇到了同样的问题
-
通过最终说服人们转向嵌入式 tomcat 解决了这个问题。
标签: java spring-mvc websphere servlet-3.0