Merhaba değerli Java dostları,

Yakın zamanda karşılaştığım bir problemi paylaşmak istiyorum. RestTemplate ile yapılan requestlere response dönmemesi ve bir müddet sonra da Hikari üzerindeki poolda artık kullanılabilecek connection kalmaması problemi yaşadım.

Bunun üzerine kullanılan resttemplate için timeout kullanılmadığını ve infinite beklemeye girdiğini gördüm. Tetikleyen metot da @Transactional olarak işaretlendiği için bir müddet sonra sistem çökmesi meydana geldi.

Bunu engellemek için çok kısa bir kod bloğu eklemeniz yeterli.

[pastacode lang=”java” manual=”%40Bean%0A%20%20public%20RestTemplate%20restTemplate(RestTemplateBuilder%20builder)%20%7B%0A%20%20%20%20return%20builder.setConnectTimeout(restTimeout).setReadTimeout(restTimeout).build()%3B%0A%20%20%7D” message=”” highlight=”” provider=”manual”/]

Milisaniye türünden restTimeout değeri kadar response alınamazsa ResourceAccessException hatası alınacaktır.

Bol Java’lı günler dileğiyle… 😀

No responses yet

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir