私は、クォーツスケジュールとspring-jdbcテンプレートでmaven-java-springを使用しています。
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.7.3</version>
</dependency>
クォーツスケジューラジョブを使用して大量のインサートを作成するプロセスがあります。
x個のレコードを挿入した後にジョブを実行すると、次のように例外がスローされます
exception caught: org.springframework.transaction.TransactionSystemException: Could not commit JDBC transaction; nested exception is java.sql.SQLException: commit() should not be called while in auto-commit mode.
at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCommit(DataSourceTransactionManager.java:270)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:147)
以下は私のsechdularコードです
<!-- Spring jobs -->
<bean id="wireJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="search"/>
<property name="targetMethod" value="executeWireSearch"/>
</bean>
<bean id="nonWireJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="search"/>
<property name="targetMethod" value="executeNonWireSearch"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="wireQuartzTrigger"/>
<ref bean="nonWireQuartzTrigger"/>
</list>
</property>
</bean>
オートコミットに関連するクォーツの特性と関係がありますか?