Ich habe einen Tomcat-Filter, der Anfragen je nach URL an ein Behandlungsobjekt delegiert. Dies ist der einzige Filter in der FilterChain
. Ich habe eine Ajax-App, die diesen Filter mit vielen Anfragen belastet.
Kürzlich habe ich ein Problem bemerkt, bei dem die doFilter
-Methode des Filters oft mit einer verpflichteten Antwort als Parameter aufgerufen wird (intern ist es die gekennzeichnete coyote-Antwort).
Es scheint mir, dass dies nur passieren kann, wenn die Methode recycle()
nicht auf diese coyote-Antwort aufgerufen wird. Ich habe überprüft, um sicherzustellen, dass ich keine Referenzen zu irgendwelchen Anfragen, Antworten, outputStream- oder Writer-Objekten behalte. Außerdem habe ich darauf geachtet, den outputStream in einem finally-Block zu schließen. Dies löst jedoch dieses Problem nicht.
Dies hört sich so an, als ob ich etwas mache, um den Servlet-Container zu missbrauchen, aber ich habe Schwierigkeiten, es zu finden.