Доступ к репозиторию в @ScheduledJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Доступ к репозиторию в @Scheduled

Сообщение Anonymous »

У меня есть метод, который следует запускать регулярно. При вызове с аннотацией @Scheduler я получаю следующую ошибку:
Unexpected error occurred in scheduled task. org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Caused by: org.postgresql.util.PSQLException: ERROR: relation "my_table" does not exist

Однако прямой вызов того же метода через конечную точку работает хорошо.
Не работает:
@Service
public class MyService {

private final MyRepository repository;

public MyService(MyRepository repository) {

this.repository = repository;
}

@Scheduled(fixedDelay = 3000)
public void updateDatabase() {
Foo foo = repository.findOne(id); // Throws exception
// ...
}

}

Работает:
@GetMapping("/test")
public ResponseEntity test() {

myService.updateDatabase();
// ...
}

@Service
public class MyService {

private final MyRepository repository;

public MyService(MyRepository repository) {

this.repository = repository;
}

//@Scheduled(fixedDelay = 3000)
public void updateDatabase() {
Foo foo = repository.findOne(id); // No exception
// ...
}

}


Подробнее здесь: https://stackoverflow.com/questions/793 ... -scheduled
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»