Here, I am trying to reject the request at the level of jetty server before reaching to servlet. Since as per below configuration Thread Pool has 6 minimum and 10 maximum parallel execution threads and 10 requests can be queued in thread pool where as 55 requests can be queued at connector level. so total is 85 that implies if 200 requests are sent at a time, 115 requests should be rejected. But even if I send 1000 request at a time by jmeter. Jetty server caters all the requests. Below is the piece of code.
Server server = new Server();
QueuedThreadPool threadPool = new QueuedThreadPool();
LinkedBlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>(15);
ExecutorThreadPool pool = new ExecutorThreadPool(6, 10, 30000, TimeUnit.MILLISECONDS, queue);
server.setThreadPool(pool);
threadPool.setMaxThreads(AssuranceConfiguration.annetAssurancesrvConsumerThread);
server.setThreadPool(threadPool);
if (AssuranceConfiguration.annetAssurancesrvSslRequired)
{
if (logger.isInfoEnabled())
{
logger.info("Going to use HTTPS, Initialising SSL context....");
}
SslContextFactory sslContextFactory = new SslContextFactory();
sslContextFactory.setKeyStore(JettyServer.class.getResource(KEYSTOREFILE).getFile());
sslContextFactory.setKeyStorePassword(AssuranceConfiguration.annetAssurancesrvKeystoreidentifier);
sslContextFactory.setKeyManagerPassword(AssuranceConfiguration.annetAssurancesrvKeystoremanagerPassword);
SslSelectChannelConnector sslConnector = new SslSelectChannelConnector(sslContextFactory);
sslConnector.setPort(AssuranceConfiguration.annetAssurancesrvPort);
server.setConnectors(new Connector[] { sslConnector });
}
else
{
if (logger.isInfoEnabled())
{
logger.info("Going to use HTTP, Initialising simple context....");
}
SelectChannelConnector simpleConnector = new SelectChannelConnector();
simpleConnector.setPort(AssuranceConfiguration.annetAssurancesrvPort);
simpleConnector.setMaxIdleTime(30000);
simpleConnector.setRequestHeaderSize(8192);
server.setConnectors(new Connector[] { simpleConnector });
simpleConnector.setAcceptQueueSize(55);
}