¿Cómo establecer un límite para el número de solicitudes concurrentes en el servlet?

Tengo este servlet que devuelve un archivo pdf al navegador web del cliente. No queremos arriesgarnos a que, cuando el número de solicitudes es demasiado, el servidor esté paralizado.

Nos gustaría crear una forma de nivel de aplicación (programa) para establecer un límite en el número de solicitudes concurrentes y devolver un mensaje de error al navegador cuando se alcanza el límite. Necesitamos hacerlo en el nivel de solicitud porque tenemos un contenedor de servlets diferente en el nivel de desarrollo (tomcat) y el nivel de producción (websphere).

Debo enfatizar que quiero controlar el número máximo de solicitudes en lugar de sesión. Un usuario puede enviar múltiples solicitudes a través del servidor con la misma sesión.

¿Alguna idea? He pensado en usar un contador estático para realizar un seguimiento del número de solicitudes, pero plantearía un problema de condición de carrera.

Respuestas a la pregunta(5)

Su respuesta a la pregunta