21 Şubat 2018 Çarşamba

SpringBatch SqlPagingQueryProviderFactoryBean Sınıfı

Giriş
Açıklaması şöyle.
This factory detects what database implementation to use.
Kullanım
PagingQueryProvider nesnesi döner. Bu nesne JdbcPagingItemReader ile kullanılır. Şöyle yaparız.
JdbcPagingItemReader<Message> reader = new JdbcPagingItemReader<>();
reader.setDataSource(dataSource);
reader.setQueryProvider(queryProvider());
getObject metodu
Örnek
Şöyle yaparız.
@Bean
public PagingQueryProvider queryProvider() {

  SqlPagingQueryProviderFactoryBean provider = new SqlPagingQueryProviderFactoryBean();
  provider.setDataSource(dataSource);
  provider.setSelectClause(sqlSelectClause);
  provider.setFromClause(sqlFromClause);
  provider.setWhereClause(sqlWhereClause);
  provider.setSortKeys(sortByMessageIdAsc());
  
  try {
    return provider.getObject();
  } catch (Exception e) {
    ...  
  }

    return null;
}
setSortKeys metodu
Elimizde şöyle bir kod olsun
private Map<String, Order> sortByMessageIdAsc() {
  Map<String, Order> sortConfiguration = new HashMap<>();
  sortConfiguration.put("message_id", Order.ASCENDING);
  return sortConfiguration;
}
Şöyle yaparız.
provider.setSortKeys(sortByMessageIdAsc());

Hiç yorum yok:

Yorum Gönder