MySql JDBCドライバーには、ステートメント作成メソッドに渡したパラメーターに関係なく、データセット全体がメモリーにロードされるという問題があります。 http://devを参照してください。 mysql.com/doc/refman/5.0/en/connector-j-reference-implementation-notes.html カーソルを適切に開く方法について。
これが私のやり方です:
<bean class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="verifyCursorPosition" value="false" />
<property name="dataSource" ref="remoteDataSource" />
<property name="rowMapper">
<bean class="org.springframework.jdbc.core.SingleColumnRowMapper" />
</property>
<property name="fetchSize">
<util:constant static-field="java.lang.Integer.MIN_VALUE" />
</property>
<property name="sql">
<value>SELECT foo, bar FROM baz</value>
</property>
</bean>