Tôi đang sử dụng thư viện thương mại của bên thứ ba có vẻ như đang bị rò rỉ xử lý tệp (Tôi đã xác minh điều này trên Linux bằng cách sử dụng lsof
). Cuối cùng, máy chủ (Tomcat) bắt đầu nhận được lỗi "Quá nhiều lỗi tệp mở" và tôi phải khởi động lại JVM.Tôi có thể đóng các xử lý tệp được mở bằng mã mà tôi không sở hữu không?
Tôi đã liên hệ với nhà cung cấp. Trong khi chờ đợi, tuy nhiên, tôi muốn tìm một giải pháp cho việc này. Tôi làm không phải có quyền truy cập vào mã nguồn của họ. Có cách nào, trong Java, để dọn dẹp các tệp xử lý mà không cần có quyền truy cập vào đối tượng File
gốc (hoặc FileWriter
, FileOutputStream
, v.v ...) không?
Anh ấy KHÔNG có quyền truy cập vào mã nguồn. –
@AhmedMasud, anh ta không cần nó nếu mô tả tập tin cũ cho phép rèn luồng. Tất cả những gì anh ta cần là khả năng chạy mã Java bên trong một cá thể tomcat mà anh ta điều khiển. –
khái niệm thú vị nhưng đó là giả định rằng các mô tả tập tin sử dụng tái chế lành mạnh sau khi đóng; cũng có thể khó để tìm ra KHI tạo luồng trong chuỗi; –