SpringBoot war和JNDI DataSource独立无法正常工作

时间:2018-04-16 17:42:26

标签: spring-boot

我将SpringBoot2-Application配置为war包,我想在命令行上运行,但也可以在应用服务器中部署。 根据说明,我将依赖项配置为嵌入式Tomcat,范围为"提供"并且还添加了TomcatServletWebServerFactory来覆盖嵌入式Tomcat的初始化,以便我可以启用jndi.naming,因为我希望从应用程序服务器的jndi读取数据源。如果我单独启动应用程序,我会在启动时将它添加到嵌入式Tomcat中来提供jndi资源。

这很好地失败了:如果范围是"提供"并且独立启动,我的TomcatServletWebServerFactory未运行且jndi未激活,因此数据源的查找失败。但是这个包在Wildfly中运行良好。如果我删除"提供",独立应用程序启动正常,但它在Wildfly中崩溃的原因很明显(有一个Tomcat实例启动了许多无法转换为Undertow实例)。

还有其他人经历过此并有解决方案吗? SpringBoot-Maven插件做了什么"隐藏"战争中的嵌入式Tomcat?也许我的TomcatServletWebServerFactory必须适应"提供的"(隐藏)配置?

感谢所有建议。

0 个答案:

没有答案