Skip to content

Instantly share code, notes, and snippets.

@giuliana-bezerra
Last active August 28, 2021 14:33
Show Gist options
  • Save giuliana-bezerra/b420ff76f9afa9815b311ff2528f3604 to your computer and use it in GitHub Desktop.
Save giuliana-bezerra/b420ff76f9afa9815b311ff2528f3604 to your computer and use it in GitHub Desktop.
@Configuration
public class CompositeReaderConfig {
@Bean
public ItemReader<CustomerAccount> compositeReader(DataSource customerDS,
@Qualifier("accountDataSource") DataSource accountDS, PagingQueryProvider queryProvider) {
CompositeJdbcPagingItemReader<CustomerAccount> reader = new CompositeJdbcPagingItemReader<>();
reader.setDataSource(accountDS);
reader.setPageSize(10);
reader.setQueryProvider(queryProvider);
reader.setRowMapper(new BeanPropertyRowMapper<>(CustomerAccount.class));
CustomerAccountPageProcessor processor = new CustomerAccountPageProcessor();
processor.setDataSource(customerDS);
reader.setPageProcessor(processor);
return reader;
}
@Bean
public SqlPagingQueryProviderFactoryBean queryProvider(@Qualifier("accountDataSource") DataSource accountDS) {
SqlPagingQueryProviderFactoryBean bean = new SqlPagingQueryProviderFactoryBean();
bean.setDataSource(accountDS);
bean.setSelectClause("SELECT *");
bean.setFromClause("FROM customer_account");
bean.setSortKey("id");
return bean;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment