一尘不染

Spring Boot和Apache Spark-容器冲突

tomcat

我正在尝试在项目中一起使用Spring Boot 1.1.5和Apache Spark 1.0.2。看起来apache
spark在内部使用Jetty容器,并且我已将spring-
boot配置为使用Tomcat容器。但是,应用程序启动失败,根本原因是一些securityException。如果我看到完整的堆栈跟踪看起来像是弹簧启动,则试图初始化“
jettyEmbeddedServletContainerFactory”,但不应将其放在首位。由于跳船的存在,它可能会通过火花从类路径中拾取它。如果我从spark中排除码头并再次运行,我不会再看到相同的错误,但是SparkContext初始化由于找不到码头而失败。我如何告诉Spring-
boot运行时寻找“ TomcatEmbeddedServletContainerFactory”而不是码头?


阅读 453

收藏
2020-06-16

共1个答案

一尘不染

@Joakim Erdfelt,谢谢。
我只是在等待,看看是否有人熟悉这种情况,这是否只是一个小的配置更改。事实证明是这样!

@Configuration
@EnableAutoConfiguration(exclude = {EmbeddedServletContainerFactory.class})
公共类MyConfiguration {}

我将自己的“ EmbeddedServletContainerFactory” bean定义为“
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory”,它按预期开始工作。

2020-06-16