Заставьте FindAndDisplayDataServiceQuartz
и FindAndDisplayDataServiceSpringScheduler
реализовать общий interface
, возможно, с тем же квалификатором bean
, чтобы вы могли автоматически подключаться, не беспокоясь об именах компонентов. Подойдет что-то похожее на приведенное ниже.
Определение общего интерфейса.
public interface FindAndDisplayDataService {
void formatHashrate(String hashrate);
}
Создание профильных определений бинов, расширяющих общий интерфейс.
@Component("findAndDisplayDataService")
@Profile("quartz")
public FindAndDisplayDataServiceQuartz implements FindAndDisplayDataService {
public void formatHashrate(String hashrate){
//do stuff based on quartz
}
}
@Component("findAndDisplayDataService")
@Profile("spring-scheduler")
public FindAndDisplayDataServiceSpringScheduler implements FindAndDisplayDataService {
public void formatHashrate(String hashrate){
//do stuff based on Spring scheduler
}
}
И в вашем шаблоне thymeleaf
вы можете внедрить любой компонент на основе @Component
name findAndDisplayDataService
.