【发布时间】:2015-03-07 22:34:06
【问题描述】:
我正在尝试将我们基于 Spring 的 Web 应用程序从 Tomcat 8 迁移到 Undertow。
我们使用 Spring 的 WebApplicationInitializer 进行 Spring-MVC 和 HibernateTransactionManager 的编程配置。
有一个ServletContainerInitializerInfo 类(Javadoc) 似乎符合我的目的,例如我可以实例化它,然后按照Undertow 文档(link) 中给出的步骤启动服务器:
ServletContainerInitializerInfo sciInfo =
new ServletContainerInitializerInfo(containerInitializerClass,
instanceFactory, handlesTypes);
DeploymentInfo servletBuilder = Servlets.deployment()
.addServletContainerInitalizer(sciInfo);
DeploymentManager manager = Servlets.defaultContainer()
.addDeployment(servletBuilder);
manager.deploy();
PathHandler path = Handlers.path(Handlers.redirect("/myapp"))
.addPrefixPath("/myapp", manager.start());
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(path)
.build();
server.start();
问题是我不知道在调用ServletcontainerInitializerInfo 构造函数时用什么代替instanceFactory 和handlesTypes 参数。另外addServletContainerInitalizer方法的名称拼写错误(应该是Initializer而不是Initalizer)。
有人可以帮忙吗?
谢谢!
【问题讨论】:
标签: spring spring-mvc undertow