काम नहीं कर रहा मैं बड़ी वस्तुओं स्ट्रीमिंग के लिए एक सर्वलेट को लागू करने की कोशिश कर रहा हूँ:response.flushBuffer()
oracle.sql.BLOB blob = rs.getBLOB('obj');
InputStream in = blob.getBinaryStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
ServletOutputStream out = response.getOutputStream();
int counter=0
while((length=in.read(buffer)) != -1){
out.write(buffer,0,length);
counter++;
if(counter % 10 == 0){
counter=0;
response.flushBuffer();
}
chunck द्वारा ग्राहक हिस्सा करने के लिए डेटा भेजने के लिए लगता है कि यह कोड। अब क्या हो रहा है कि जब मैं बड़ी वस्तु (100 एमबी) स्ट्रीम करता हूं, तो स्मृति बढ़ जाती है, और सर्वर एक बार समानांतर डाउनलोड/स्ट्रीम होने पर मर जाता है।
यह flushBuffer()
क्लाइंट को डेटा क्यों नहीं भेज रहा है? प्रतिक्रिया बंद होने के बाद ही ग्राहक को खुली/सहेजने वाली फ़ाइल के लिए पॉपअप मिलता है।
इसके अलावा मैं इस कोड – Madhu
के परीक्षण के लिए JOBSS 4.3 Sever का उपयोग क्या आप कहीं बाहर हैं। बंद() '? – Osw
हाँ मैं बाहर करता हूं। बंद करें() लेकिन यहां चिपकाया नहीं गया – Madhu