Tôi có một Bộ lọc Tomcat ủy quyền các yêu cầu đến đối tượng xử lý tùy thuộc vào URL. Đây là bộ lọc duy nhất trong số FilterChain
. Tôi có một ứng dụng Ajax mà búa bộ lọc này với rất nhiều yêu cầu.Tomcat doFilter() được gọi với phản hồi cam kết
Gần đây, tôi nhận thấy một vấn đề trong đó phương pháp doFilter
của bộ lọc thường được gọi với một phản hồi được cam kết như một tham số (Nội bộ, đó là phản hồi coyote được đánh dấu là cam kết).
Dường như với tôi rằng cách duy nhất mà điều này có thể xảy ra là nếu phương pháp recycle()
không được gọi trên phản hồi coyote này. Tôi đã kiểm tra để đảm bảo rằng tôi không giữ tài liệu tham khảo cho bất kỳ yêu cầu, phản ứng, outputStream, hoặc các đối tượng nhà văn. Ngoài ra, tôi đã đảm bảo đóng outputStream trong một khối cuối cùng. Tuy nhiên, điều này không giải quyết được vấn đề này.
Điều này có vẻ như tôi đang làm điều gì đó để lạm dụng bộ chứa servlet nhưng tôi đang gặp sự cố khi theo dõi nó.
chúng tôi phải làm điều tương tự. Gói luồng đầu ra và ngăn không cho nó phản hồi cho đến khi chúng tôi sẵn sàng. – ScArcher2