Solución:
@Component
public class ImagesPurgeJob implements Job {
private Logger logger = Logger.getLogger(this.getClass());
@Value("${jobs.mediafiles.imagesPurgeJob.enable}")
private boolean imagesPurgeJobEnable;
@Override
@Transactional(readOnly=true)
@Scheduled(cron = "${jobs.mediafiles.imagesPurgeJob.schedule}")
public void execute() {
//Do something
//can use DAO or other autowired beans here
if(imagesPurgeJobEnable){
Do your conditional job here...
}
}
}
Puede agrupar métodos de programación por condiciones en número de servicios e iniciarlos así:
@Service
@ConditionalOnProperty("yourConditionPropery")
public class SchedulingService {
@Scheduled
public void task1() {...}
@Scheduled
public void task2() {...}
}
Spring Boot proporciona @ConditionalOnProperty, que sería perfecto si estuviera usando Spring Boot. Esta anotación es una especialización de @Conditional, introducida con Spring 4.0.0.
Suponiendo que solo está usando Spring “regular” y no Spring Boot, podría crear su propia implementación de Condición para usar con @Conditional que imitaría @ConditionalOnProperty de Spring Boot.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)