How to use setThreadPool() in Jetty

2019-02-27 06:03发布

问题:

I wanted to see how to use the setThreadPool() functionality. Let's say my main class is the following:

import javax.servlet.SingleThreadModel;
import org.eclipse.jetty.server.Server;

public class FServer implements SingleThreadModel {

    public static void main(String[] args) throws Exception {
        Server server = new Server(x);

        server.setHandler(new Handler());


        server.start();
        server.join();


    }
}

When trying to add the setThreadPool(), I'm always asked to implement abstract methods.

My question is, how can I set the ThreadPool length for Jetty without being forced to use an XML configuration file, i.e. something like server.setThreadPool(5) where 5 is the number of simultaneous threads?

回答1:

Here is an example:

QueuedThreadPool threadPool = new QueuedThreadPool();
threadPool.setMaxThreads(5);
server.setThreadPool(threadPool);


回答2:

You can also use the following:

server.setThreadPool(new ExecutorThreadPool(5, 10, 10, TimeUnit.SECONDS))