Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring批处理-JdbcPagingItemReader中的PageSize问题_Spring_Spring Batch - Fatal编程技术网

Spring批处理-JdbcPagingItemReader中的PageSize问题

Spring批处理-JdbcPagingItemReader中的PageSize问题,spring,spring-batch,Spring,Spring Batch,您好,我们正在进行spring批处理,该批处理SKU表中的所有SKU,并向库存系统发送请求以获取库存详细信息。要发送到invetory详细信息,我们需要一次发送100个滑雪ID,因此我们将pageSize设置为100 在读卡器日志中: 我们看到 从中选择*从中选择S_ID、S_PRNT_PRD、SQ、ROWNUM作为TMP_ROW_NUM XXX_SKU WHERE SQ>=:min和SQ从productQueryProvider bean定义中删除WHERE子句,去掉参数值,它应该可以工作。P

您好,我们正在进行spring批处理,该批处理SKU表中的所有SKU,并向库存系统发送请求以获取库存详细信息。要发送到invetory详细信息,我们需要一次发送100个滑雪ID,因此我们将pageSize设置为100

在读卡器日志中: 我们看到

从中选择*从中选择S_ID、S_PRNT_PRD、SQ、ROWNUM作为TMP_ROW_NUM
XXX_SKU WHERE SQ>=:min和SQ从productQueryProvider bean定义中删除WHERE子句,去掉参数值,它应该可以工作。PagingQueryProvider为您自动完成分页。无需自己手动执行。

以100人为一组发送SKU的原因是什么?它们在某种程度上相互关联吗?这是一个库存呼叫,限制是我们只能向服务发送100个SKU。您是否必须一次发送100个SKU,或者您是否可以发送100个或以下的任何号码?如果是第二种情况,那么为什么作者的行为是一个问题?你最终做到了吗?
public void write(List<? extends XXXPagingBean> pItems) throws XXXSkipItemException {
if (mLogger.isLoggingDebug()) {
mLogger.logDebug("XXXInventoryServiceWriter.write() method STARTING, ItemsList size:{0}" +pItems.size());
}
....
....
}
<!-- InventoryService Writer configuration -->

<bean id="inventoryGridService" class="atg.nucleus.spring.NucleusResolverUtil" factory-method="resolveName">
<constructor-arg value="/com/XXX/gigaspaces/inventorygrid/service/InventoryGridService" />
</bean>

<bean id="inventoryWriter" class="com.XXX.batch.integrations.XXXXXX.XXXXInventoryServiceWriter" scope="step">
<property name="jdbcTemplate" ref="batchDsTemplate"></property>
<property name="inventoryGridService" ref="inventoryGridService" />
</bean>

<bean id="pagingReader" class="org.springframework.batch.item.database.JdbcPagingItemReader" xmlns="http://www.springframework.org/schema/beans" scope="step">
<property name="dataSource" ref="dataSource" />
<property name="queryProvider">
<bean id=" productQueryProvider" class="org.springframework.batch.item.database.support.SqlPagingQueryProviderFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="selectClause" value="select S_ID ,S_PRNT_PRD" />
<property name="fromClause" value="from XXX_SKU" />
<property name="sortKey" value="SEQ_ID" />
<property name="whereClause" value="SEQ_ID>=:min and SEQ_ID &lt;=:max"></property>
</bean>
</property>
<property name="parameterValues">
<map>
<entry key="min" value="#{stepExecutionContext[minValue]}"></entry>
<entry key="max" value="#{stepExecutionContext[maxValue]}"></entry>
</map>
</property>
<property name="pageSize" value="100" />
<property name="rowMapper">
<bean class="com.XXX.batch.integrations.endeca.XXXPagingRowMapper"></bean>
</property>
</bean>