2016-07-20 16 views
0

私は5秒ごとにジョブをトリガするために石英スケジューラと一緒にスプリングバッチを使用しています。JobDetailBeanのジョブクラスへのBean参照を挿入する

<bean name="JobA" class="org.springframework.scheduling.quartz.JobDetailBean"> 
     <property name="jobClass" value="com.batch.test.FirstJob" /> 
</bean> 

ここで、クラス自体を渡すのではなく、Beanの参照を渡すことは可能ですか?

<bean id="firstJob" class="com.batch.test.FirstJob"> 
     <property name="sessionFactory" ref="sessionFactory"> </property> 
    </bean> 
<bean name="JobA" class="org.springframework.scheduling.quartz.JobDetailBean"> 
      <property name="jobClass" ref="firstJob" /> 
    </bean> 

これは可能ですか?

答えて

0

は最後に実際に行われなければならないかを知るようになりました。

<bean name="JobA" class="org.springframework.scheduling.quartz.JobDetailBean"> 
     <property name="jobClass"> 
      <bean factory-bean="firstJob" factory-method="getClass"></bean> 
     </property> 
</bean> 

は、それがいつか誰か:)私はこのClass clazzを参照することになり

0

はい。純粋にあなたのユースケースに依存します。

は、以下のクラスを考えてみましょう:

public ClassA{ 

     private Class clazz; 
     private FirstJob firstJob; 

     public Class getClazz() { 
      return clazz; 
     } 

     public void setClazz(Class clazz) { 
      this.clazz = clazz; 
     } 

     public FirstJob getFirstJob() { 
      return firstJob; 
     } 

     public void setFirstJob(FirstJob firstJob) { 
     this.firstJob = firstJob; 
     } 
} 

依存性注入:

<bean id="firstJob" class="com.batch.test.FirstJob"> 
    <property name="sessionFactory" ref="sessionFactory"> </property> 
</bean> 

<bean name="JobA" class="org.springframework.scheduling.quartz.JobDetailBean"> 
     <property name="clazz" value="com.batch.test.FirstJob" /> 
     <property name="firstJob" ref="firstJob" /> 
</bean> 
+0

に役立ちます願っています?。 JobAの2つのプロパティにも同じFirstJobリファレンスがありますか? – Mary

関連する問題