2
嗨我們正在開發一個spring批處理,它處理SKU表中的所有SKU,並向庫存系統發送請求以獲取庫存詳細信息。發送給我們需要的,所以我們已經設置的pageSize爲100Spring批處理 - 在JdbcPagingItemReader中使用PageSize發佈
在讀者日誌一次發送100個SKI IDS invetory細節: 我們看到
SELECT * FROM(SELECT S_ID,S_PRNT_PRD ,SQ,ROWNUM作爲TMP_ROW_NUM FROM XXX_SKU WHERE SQ> =:分鐘和SQ < =:最大ORDER BY SQ ASC)WHERE ROWNUM < = 100]
但是我們在對於一定的時間作家觀察100 SKU被髮送並且用於某些請求發送1個SKU。
public void write(List<? extends XXXPagingBean> pItems) throws XXXSkipItemException {
if (mLogger.isLoggingDebug()) {
mLogger.logDebug("XXXInventoryServiceWriter.write() method STARTING, ItemsList size:{0}" +pItems.size());
}
....
....
}
- 的pageSize和commitInterval被設置爲100(在這些假設是相同?)
- SORTKEY(SEQ_ID)應在相同一個partitiner柱用?
豆配置在XML:
<!-- 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 <=: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>
請建議。
以100個組爲單位發送SKU的原因是什麼?他們是否以某種方式相互關聯? – 2013-03-28 22:49:57
這是庫存呼叫和限制,我們只能向服務發送100個SKU。 – techanuva 2013-04-04 08:02:48
您是否一次只能發送100個SKU,或者您可以發送100個或更少的號碼?如果是第二種情況,那麼爲什麼作家的行爲是一個問題? – 2013-04-04 08:23:08