использование @postconstruct и @ Scheduled аннотации вместе
Я новый ученик и с использованием Spring аннотации для конфигурации можно использовать как @PostConstruct и @запланированные(с фиксированной процентной ставкой = 60л * 1000л)
по тому же методу, что и ниже ? если да, то какой должна быть аннотация к классу ?
@Component
public class Cache {
@PostConstruct
@Scheduled(fixedRate = 60L * 1000L)
public void refreshCache() {
...
}
}
2 ответов:
Да, ваши аннотации в классе верны. Но вам лучше использовать:
@Scheduled(fixedRate = 60L * 1000L, initialDelay=0) public void refreshCache() {Без
@PostConstructпотому что:Есть и другие причины, но на этом я останавливаюсь.
- только один метод в классе может быть аннотирован с помощью
@PostConstruct.- вы не можете выбрасывать проверенные исключения из метода, используя
@PostConstruct.- другие не будут автоматически подключать этот компонент.
Если вы не используете xml, этот пример должен быть тем, что вы хотите, который на самом деле является приложением spring boot. https://github.com/soiff-spring/spring-boot-example
Мой полный пример здесь: https://github.com/soiff-spring/spring-mvc-example
Пожалуйста, обратите внимание на следующий файл и класс:
hello-servlet.xmlHelloSchedulerУпакуйте этот проект и поместите его в контейнер tomcat и запустите tomcat, вы увидите журнал выглядит следующим образом:
20:06:53.003 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594013001 : hello world ... 20:06:54.001 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594014001 : hello world ... 20:06:55.001 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594015001 : hello world ... 20:06:56.002 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594016002 : hello world ... 20:06:57.000 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594017000 : hello world ... 20:06:58.002 [pool-1-thread-1] INFO xyz.cloorc.example.springmvc.HelloScheduler - 1480594018002 : hello world ...Наслаждайтесь.
Comments