Cómo usar un ThrottlingFilter para Jetty en Restlet
-
20-08-2019 - |
Pregunta
Me gustaría configurar un servicio web para que, una vez que la cola de aceptación esté llena, el servicio devuelva 503. Actualmente, estas solicitudes parecen agotar el tiempo de espera.
Configuré parámetros como maxThreads y acceptQueuesize (como se describe aquí: http://www.restlet.org/documentation/1.1/ext/com/noelios/restlet/ext/jetty/JettyServerHelper ).
Pero el servicio no responde con 503 una vez que acceptQueue está lleno.
Parece el ThrottlingFilter de jetty ( http: //www.mortbay. org / jetty / jetty-6 / apidocs / index.html? index-all.html ) es lo que estoy buscando, pero no sé cómo aplicar dentro de mi servicio de restlet.
Solución
No podrá aprovechar ThrottlingFilter a menos que implemente su aplicación como un archivo WAR en Jetty. JettyServerHelper arranca Restlet como un servidor independiente que usa Jetty para aceptar conexiones HTTP y, por lo tanto, no puede utilizar un filtro de servlet. No estoy seguro de si hay alguna forma de utilizar una lógica de procesamiento similar desde ThrottlingFilter en Jetty fuera del mundo Servlet o no.