默认情况下,Spring启动使用Tomcat作为内部嵌入式Servlet容器。 它也得到了Jetty和UnderTow的支持。
我使用spring boot构建了Restful Application。但现在我需要将它部署在Grizzly(Glassfish)Servlet容器上。
如何将我的应用程序嵌入到灰熊中运行,因为弹簧不支持相同的。
https://github.com/spring-projects/spring-boot/issues/5015
请帮助,因为我在这个主题上进行了很多研究,但是我可以获得任何链接,以显示如何为我们的弹簧启动应用程序嵌入一个新的Servlet容器,而春天的剂量已经支持。
由于
答案 0 :(得分:2)
Grizzly website表示Grizzly的servlet支持不完整:
这不是符合Servlet的实现,因此,并非所有通过典型Servlet容器公开的功能都可用。
我还没有看到任何可以扩展这些缺失功能的地方,但是你很有可能在没有填补一些空白的情况下,你所做的事情是不可能实现的。 Grizzly的servlet支持。
假设有可能,您需要编写Spring Boot的EmbeddedServletContainerFactory
和EmbeddedServletContainer
接口的Grizzly特定实现。这是一项相当大的工作,因此,在进行之前,我会问自己,通过使用Grizzly作为嵌入式servlet容器而不是使用已经支持的Jetty,Tomcat或Undertow,您将获得什么。
如果你决定解决这个问题,那么阅读Jetty,Tomcat和Undertow现有实现的源代码是了解需要做什么的最佳方式:
答案 1 :(得分:0)
答案 2 :(得分:0)
现在有用于Grizzly的Spring Boot启动器的第三方实现,其中具有Grizzly的Spring Boot的=~
和EmbeddedServletContainerFactory
类的特定实现。
此外,它还可以通过Tomcat's Jasper JSP引擎提供JSP支持,只需指定其他依赖项即可。您可以在GitHub上找到该项目,该项目也在Spring Boot starters列表中列出。