Как использовать джоб в условии метода?
Всем привет! Прошу подсказать, есть следующий метод:
@Override
public Integer getStatusMission(Dto dto, Entity entity) {
String action = "ACTION=ENTITY_GO";
val payload = action + dto.getId() + dto.getStartDate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);
HttpEntity<String> request = new HttpEntity<>(payload,headers);
ResponseWrapper response = restTemplate.postForObject(Url, request, ResponseWrapper.class);
if (response.getPayload().getStatus() != 0) {
val save = updDet(dto.getPhone(), dto.getId(), dto.getMissionId());
PushSmsSubType type = PushSmsSubType.IS_DONE;
String text = "Открыта награда";
pushService.pushMessage(entity, entity.getPhone(), text, type,true);
}
return response.getPayload().getStatus();
}
Нужно в условии прописать доп условие, что необходимо запустить метод снова с этими же входными данными через 5 минут, т.е:
if (response.getPayload().getStatus() != 0) {
val save = updDet(dto.getPhone(), dto.getId(), dto.getMissionId());
//Здесь нужно объявить, что если (getPayload().getStatus() != 0) то, запусти метод снова через 5 минут
PushSmsSubType type = PushSmsSubType.IS_DONE;
String text = "Открыта награда";
pushService.pushMessage(entity, entity.getPhone(), text, type,true);
}
Пытался через создание джоба и @Schedulled, но не совсем понял как объявить его в методе
Источник: Stack Overflow на русском