2011-03-03 10 views
1

QuartzでLocalTask​​ExecutorThreadPoolを使用しようとしていますが、石英のtaskexecutorとして使用しようとするとこのエラーが発生します。QuartzでLocalTask​​ExecutorThreadPoolを使用する

ERROR:

arg.springframework.beans.TypeMismatchException:[org.springframework.scheduling.quartz.LocalTask​​ExecutorThreadPool]必要なタイプにタイプ のプロパティ値を変換に失敗しました[org.springframework.core.task.TaskExecutor ]プロパティ 'taskExecutor'のために。

春Configが

<bean id="taskExecutor" class="org.springframework.scheduling.quartz.LocalTaskExecutorThreadPool"> 

</bean> 

<bean id="schedulerTarget" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" scope="singleton" lazy-init="false"> 
    <property name="applicationContextSchedulerContextKey"> 
     <value>applicationContext</value> 
    </property> 
    <property name="dataSource"> 
     <ref bean="dataSrcBean"/> 
    </property> 
    <property name="transactionManager"> 
     <ref bean="txManager" /> 
    </property> 
    <property name="taskExecutor"> 
     <ref bean="taskExecutor" /> 
    </property> 
    <property name="quartzProperties"> 
     <props> 
      <prop key="org.quartz.jobStore.class">org.springframework.scheduling.quartz.LocalDataSourceJobStore</prop> 
      <prop key="org.quartz.jobStore.tablePrefix">QRTZ_</prop> 
      <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.MSSQLDelegate</prop> 
      <prop key="org.quartz.jobStore.selectWithLockSQL">SELECT * FROM {0}LOCKS WHERE LOCK_NAME = ?</prop> 
      <prop key="org.quartz.plugin.shutdownhook.class">org.quartz.plugins.management.ShutdownHookPlugin</prop> 
      <prop key="org.quartz.plugin.shutdownhook.cleanShutdown">true</prop> 
      <prop key="org.quartz.scheduler.instanceName">Sched1</prop> 
      <prop key="org.quartz.scheduler.instanceId">1</prop> 
      <prop key="org.quartz.scheduler.rmi.export">false</prop> 
      <prop key="org.quartz.scheduler.rmi.proxy">false</prop> 
     </props> 
    </property> 
</bean> 

本の全体の目的は、春には任意の接続の石英が行う制御することです。私は既にスケジューラで使用されているSpringのトランザクションマネージャを持っていますが、スケジューラは私のdbにスリープ状態の接続を残すようです。

Thnaks

答えて

2

あなたはLocalTaskExecutorThreadPool自分自身を使用してはならない - SchedulerFactoryBeanが、これは内部クォーツのThreadPoolインターフェイスでTaskExecutorをラップするために使用しています。

SchedulerFactoryBeanは、taskExecutorオブジェクトが注入されると予測します。あなたは、使用するTaskExecutorの実装を決める必要があります。

+0

ありがとうございました – drobson

関連する問題