makotanの勉強日記

勉強したこととか設定系のメモとかそういうのを集めたもの

SpringBootでEmbeddedServletContainerで別ポートのServletコンテナを起動する

この方法でコンテナとしてはいくつでも起動出来る

    TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(9090);
    servletContainer = factory.getEmbeddedServletContainer((c) -> {
        ServletRegistration.Dynamic dispatcher =
                c.addServlet("dispatcher", new DispatcherServlet(appContext));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/");
    });
    servletContainer.start();

appContextは普通のWebApplicationContext あとは好きなフィルターを追加したり、initParamで識別用の文字列を設定したりする