Я использую аннотации @Scheduled
в Grails 3.1.9, а метод аннотированной службы не выполняется вообще после обновления с 3.1.0.RC2 до 3.1.9. Переход к 3.1.0.RC2 заставляет его работать снова.@ Последовательная аннотация завершается после обновления до Grails 3.1.9
Вот моя служба ...
package com.mycompany.app
import grails.transaction.Transactional
import org.springframework.scheduling.annotation.Scheduled
@Transactional
class InstanceSnapshotService {
@Scheduled(fixedDelay = 30000L, initialDelay = 30000L)
void updateSnapshots() {
Date start = new Date()
log.info("Started Updating Snapshots at $start")
... do stuff ...
log.info("Finished Updating Snapshots after ${new Date().time - start.time}ms")
}
}
Вот мой Application.groovy ...
package com.datapriviasoftware.completesso
...
import org.springframework.scheduling.annotation.EnableScheduling
@EnableScheduling
class Application extends GrailsAutoConfiguration implements EnvironmentAware {
static void main(String[] args) {
GrailsApp.run(Application)
}
@Override
void setEnvironment(Environment environment) {
...
}
}
Как я уже сказал, у меня было это работает несколько дней назад, прежде чем мы обновлен от Grails 3.1.0-RC2 до Grails 3.1.9. Я не уверен, что это могло быть связано с этим.
Спасибо за любую помощь, которую вы можете дать.
Вы регистрируете «InstanceSnapshotService» где-то? Вероятно, у вас отсутствует анонс '@ Service'. – Loucher
Grails регистрирует службы по соглашениям без аннотации '@ Service', но я попытался добавить аннотацию на всякий случай, но безрезультатно. Спасибо за предложение. :-) – 10GritSandpaper
Просто вернувшись к 3.1.0.RC2, отлично работает. Таким образом, кажется, что что-то изменилось с помощью '@ Scheduled' между 3.1.0.RC2 и 3.1.9. Исследуйте сейчас, чтобы определить, где. –