Tomcat 8에서 Undertow로 Spring 기반 웹 응용 프로그램을 마이그레이션하려고합니다.Undertow에서 Spring 기반 웹 응용 프로그램 배포
Spring의 WebApplicationInitializer를 사용하여 Spring-MVC 및 HibernateTransactionManager의 프로그래밍 방식 구성을 사용한다.
예를 들어, 내가 서버 시작 물러 문서 (link)에 주어진 단계를 수행 한 후 인스턴스화 할 수 있습니다, 내 목적을 제공하는 것처럼 보이는 ServletContainerInitializerInfo
클래스 (Javadoc) 있습니다 :
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();
문제가 있다는 것입니다을 나는 돈 instanceFactory
및 handlesTypes
인수를 ServletcontainerInitializerInfo
생성자를 호출하여 대체 할 대상을 알 수 없습니다. 또한 addServletContainerInitalizer
메서드의 이름의 철자가 잘못되었습니다 (초기화 도구 대신 초기화 도구 여야 함).
누군가 도와 드릴 수 있습니까?
감사합니다.
감사합니다! 응용 프로그램을 컴파일하고 시작할 수있었습니다. 그래도 다른 문제가 있습니다 : Undertow가 Spring의 WebApplicationInitializer 인스턴스를 찾을 수 없습니다. 나는 아마 그것에 대한 별도의 질문을 게시 할 것입니다. – siphiuel
제대로 작동합니다. HandlesTypes 목록에 WebApplicationInitializer의 구체적인 구현을 지정해야했습니다. 다시 한 번 감사드립니다! – siphiuel