Spring 3.0 belgelerindeki Section 15.3.2.3 Supported handler method arguments and return types numaralı belgede, bir java.io.OutputStream veya java.io.Writer öğesinin, yanıt içeriğinin oluşturulmasında @RequestMapping "ile açıklanmış bir yöntemin bir parametresi olarak belirtilebileceğini belirtir. Servlet API'sı tarafından gösterilen OutputStream/Writer. " Yazarı bitirmeden veya açık kalması kaydıyla yazarın kapatılması, yöntemin sorumluluğudur mu ve diğer bir Bahar süreci kapanacak mı?Yazar parametresini Spring 3 denetleyicime kapatmalı mıyım?
cevap
Yalnız bırakmalıdır. Genel bir kural olarak, kodunuz açılmadıysa, o da kapatmamalı.
Bu durumda, tüm akışları temizleme ve kapatma işleminden sorumlu olan sunucu kabı (Yay değil) sorumludur.
Kendiniz yapın kendiniz yaparsanız, bunun herhangi bir zarar vereceğinden şüpheliyim, ancak buna gerek yok.
Tamam, bahar tarafından sağlanan akışı kapatmamalıyım, ama ya bir boru kullanırsam CSVWriter yazarı = yeni CSVWriter (springWriter); writer.writeLine ("blabla"); Yazarı kapatmazsam (veya en azından yıkayarak), herhangi bir işi kaybedebilirim çünkü bir çeşit tamponda yapılır. –
skaffman'ın doğru, onu kapatmak zorunda değilsiniz, ve muhtemelen yapmamalısınız, ancak kodla uğraşıyorsanız özellikle nihayetinde 'nihayet' bir maddede durmak() için hala iyi bir fikirdir. Bu istisnalar atar, yani bir veritabanından dışa aktarır.
- 1. CURL'yi kapatmalı mıyım yoksa yapmamalı mıyım?
- 2. Assembly.GetManifestResourceStream tarafından döndürülen akışları kapatmalı mıyım?
- 3. Veri kaynağından gelen bir bağlantıyı kapatmalı mıyım?
- 4. Spring: Çalışma zamanı parametresini alan bir Spring bean'ı nasıl örneklendirirsiniz?
- 5. Spring 3 Güvenlik j_spring_security_check
- 6. @RequestParam kullanımı, Spring 3
- 7. parametresini
- 8. Spring 3 @Outowired Annotation Sorunları
- 9. 'Like' parametresini
- 10. Spring 3 NPE with LazyConnectionDataSourceProxy autoCommit
- 11. Spring 3: map page.html için page.jsp
- 12. Varsayılan Spring 3 görünümü çözümleyicisi nedir?
- 13. AuthenticationSuccessHandler Spring Security 3 için örnek
- 14. Açısal UI Önyükleme veya Düz Önyükleme 3 kullanmalı mıyım?
- 15. Bir unique_ptr atamalı mıyım yoksa sıfırlamalı mıyım?
- 16. Sıralamayı değiştir Yazar Adları Soyadlarına Göre
- 17. GitHub - Listeyi yazar yazarına ait
- 18. Yüklenen PDF'den yazar nasıl kaldırılır?
- 19. Okuyucular - yazar: Segmentation fault C++
- 20. git rewrite: Yazar adı değiştirmiyor
- 21. Yazar neden EntityUtils.consume (httpEntity) kullanıyordu?
- 22. rub 1.9 ve CSV :: Yazar
- 23. parametresini javascript dosyasına $ .get
- 24. Özel sorgu parametresini Solr
- 25. Şablon şablonu parametresini,
- 26. Yazar/kullanıcı slug temel alınarak veri görüntüleme
- 27. Spring Boot'a Gradle.build sürümünü alma
- 28. Gerçekten flush() 'ı bugün hemen önce kapatmalı mıyız?
- 29. Spring saml - SP'de oturum açmayı başlatırken istek parametresini hatırla ve IdP yanıtı
- 30. Spring 3.x çoklu oturum açma sayfaları için yapılandırma
Bu akışlar Servlet API'sından alındığı için, http://stackoverflow.com/questions/1159168/should-one-call-close-on-httpservletresponse-getoutputstream-getwriter – axtavt
olası yinelemesine bakın [Kapatmam gerekir mi? servlet outputstream?] (http://stackoverflow.com/questions/1829784/should-i-close-the-servlet-outputstream) – BalusC