Skip to content

Support JdbcTemplate injection in JdbcPagingItemReader - #5611

Open
nippyclouding wants to merge 1 commit into
spring-projects:mainfrom
nippyclouding:GH-5485
Open

nippyclouding wants to merge 1 commit into
spring-projects:mainfrom
nippyclouding:GH-5485

Conversation

@nippyclouding

Copy link
Copy Markdown

Closes #5485

Add a JdbcPagingItemReader(JdbcTemplate, PagingQueryProvider) constructor so paging queries can use a supplied template, including an AOP proxy. The query provider is initialized with the template's DataSource. The existing DataSource constructor continues to create its own template.

The reader applies its page size as the template's maximum row count and overrides the fetch size only when explicitly configured. Other template settings are preserved. Tests read multiple pages through a class-based AOP proxy with no parameters, positional parameters, and named parameters, and check template configuration and constructor validation.

Validation:

  • ./mvnw -B -ntp -pl spring-batch-infrastructure '-Dtest=JdbcPagingItemReader*Tests' test (46 tests, 4 already disabled)
  • ./mvnw -B -ntp package

Closes spring-projects#5485

Signed-off-by: Lee Sang Won <nippyclouding@gmail.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

JdbcPagingItemReader constructor injection of JdbcTemplate instance

1 participant