Baharı yeniden denemeyi deniyorum ve garip bir konuyla karşılaşıyorum. Yeniden Deneme Denetleyicisindeki bir yöntemde yeniden deneme notunu kullandığımda, yeniden deneme çalışmaz. Ama bu yöntemi ayrı bir hizmet sınıfına taşırsam çalışır.Springcory, RestController'de çalışmıyor
@RestController
public class HelloController {
@RequestMapping(value = "/hello")
public String hello() {
return getInfo();
}
@Retryable(RuntimeException.class)
public String getInfo() {
Random random = new Random();
int r = random.nextInt(2);
if (r == 1) {
throw new RuntimeException();
} else {
return "Success";
}
}
}
Ama şu yapar: Aşağıdaki kod çalışmaz denetleyici kullanıldığında @Retryable
neden çalışmadığını
@RestController
public class HelloController {
@Autowired
private SomeService service;
@RequestMapping(value = "/hello")
public String hello() {
String result = service.getInfo();
return result;
}
}
@Service
public class SomeService {
@Retryable(RuntimeException.class)
public String getInfo() {
Random random = new Random();
int r = random.nextInt(2);
if (r == 1) {
throw new RuntimeException();
} else {
return "Success";
}
}
}
Sorum şu?