Undertow за пул потоков сервлета в Java - PullRequest
0 голосов
/ 01 декабря 2018

Я работаю над пользовательским веб-приложением, использующим Undertow XNIO, где мне нужен отдельный пул потоков для каждого сервлета (я хочу выделенное количество потоков для каждого сервлета).Это веб-приложение имеет очень высокую пропускную способность, когда я получаю смешанные запросы, и некоторые из этих запросов блокируют все потоки, которые я создал для XNIO.Есть ли способ, которым я могу указать количество потоков для каждого сервлета?

Вот мой текущий код:

DeploymentInfo servletBuilder = deployment()
                .setClassLoader(MiniSite.class.getClassLoader())
                .setContextPath(PATH)
                .setDeploymentName("handler.war")
                .addServlets(
                        servlet("BenchMark", BenchMark.class)
                                .addMapping("/health"),
                        servlet("q1", q1.class)
                                .addMapping("/q1"),
                        servlet("q2", q2.class)
                                .addMapping("/q2"),
                        servlet("q3", q3.class)
                                .addMapping("/q3"),
                        servlet("config", Configuration.class)
                                .addMapping("/config")
                );

        DeploymentManager manager = defaultContainer().addDeployment(servletBuilder);
        manager.deploy();

        HttpHandler servletHandler = manager.start();
        PathHandler path = Handlers.path(Handlers.redirect(PATH))
                .addPrefixPath(PATH, servletHandler);

        Undertow server = Undertow.builder()
                .addHttpListener(80, "0.0.0.0")
                .setHandler(path)
                 .setWorkerThreads(1000)
                 .setIoThreads(500)
                .build();
        server.start();
...