2016-12-14 5 views
0

コアモジュール@ConfigurationファイルでいくつかのBeanを設定し、トップレベルモジュール@ConfigurationファイルでコアモジュールBeanの設定を終了する必要があるときに直面しました。ファサードの@Configurationファイルでコア・モジュールのSchedulerFactoryBeanのセットアップを完了するためにどのようにSpringは複数の@Configurationファイルで同じBeanを設定します

以下のコードを参照してください)?

コアモジュールスケジューラのconfigs:

@Configuration 
public class BaseSchedulerConfig { 

    @Bean 
    public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource, 
                JobFactory jobFactory, 
                @Qualifier("baseReusableJob") JobDetail baseReusableJob) { 
     SchedulerFactoryBean factory = new SchedulerFactoryBean(); 
     factory.setJobDetails(baseReusableJob); 
     return factory; 
    } 
} 

ファサードモジュールスケジューラのconfigs:

@Configuration 
@Import(BaseSchedulerConfig.class) 
public class FacadeSchedulerConfig { 

    @Autowire 
    public SchedulerFactoryBean schedulerFactoryBean; 

    // Question: which annotation use to inject module (facade) specific jobs into SchedulerFactoryBean 
    public void lookup(@Qualifier("facadeSpecificJob") JobDetail facadeSpecificJob) { 
     schedulerFactoryBean.setJobDetails(facadeSpecificJob); 
    } 
} 

答えて

1

あなたは@PostConstructを探しています。

JSR-250 @PostConstructアノテーションと@PreDestroyアノテーションは、現代のSpringアプリケーションでライフサイクルコールバックを受け取るためのベストプラクティスと一般に考えられています。

期待どおりに@Configurationで動作します。

What is the expected behaviour of @PostConstruct in @Configuration classes?

+0

uuuuuuuuuに感謝! –

関連する問題