List of usage examples for org.springframework.batch.item.database JdbcPagingItemReader setDataSource
public void setDataSource(DataSource dataSource)
From source file:de.langmi.spring.batch.examples.readers.jdbc.JdbcPagingItemReaderTests.java
@Test public void testWithoutFactory() throws Exception { // setup queryProvider HsqlPagingQueryProvider queryProvider = new HsqlPagingQueryProvider(); queryProvider.setSelectClause("select ID, NAME"); queryProvider.setFromClause("from TEST"); queryProvider.setWhereClause("where NAME <> 'foo'"); queryProvider.setSortKey("ID"); // call init to imitate spring context startup behaviour queryProvider.init(dataSource);// w w w. j a v a 2s .c om // setup reader JdbcPagingItemReader<String> reader = new JdbcPagingItemReader<String>(); reader.setDataSource(dataSource); reader.setQueryProvider(queryProvider); reader.setRowMapper(new ParameterizedRowMapper<String>() { @Override public String mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getString("NAME"); } }); reader.setPageSize(2); // needed call, normally done at spring application context startup reader.afterPropertiesSet(); reader.open(MetaDataInstanceFactory.createStepExecution().getExecutionContext()); // read try { int count = 0; String line; while ((line = reader.read()) != null) { assertEquals(String.valueOf(count), line); count++; } assertEquals(EXPECTED_COUNT, count); } catch (Exception e) { throw e; } finally { reader.close(); } }
From source file:de.langmi.spring.batch.examples.readers.jdbc.JdbcPagingItemReaderTests.java
@Test public void testWithFactory() throws Exception { // setup queryProviderFactory SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource);//from ww w. ja va 2s . c om factory.setDatabaseType("HSQL"); factory.setSelectClause("select ID, NAME"); factory.setFromClause("from TEST"); factory.setWhereClause("where NAME <> 'foo'"); factory.setSortKey("ID"); PagingQueryProvider queryProvider = (PagingQueryProvider) factory.getObject(); // call init to imitate spring context startup behaviour queryProvider.init(dataSource); // setup reader JdbcPagingItemReader<String> reader = new JdbcPagingItemReader<String>(); reader.setDataSource(dataSource); reader.setQueryProvider(queryProvider); reader.setRowMapper(new ParameterizedRowMapper<String>() { @Override public String mapRow(ResultSet rs, int rowNum) throws SQLException { return rs.getString("NAME"); } }); reader.setPageSize(2); // needed call, normally done at spring application context startup reader.afterPropertiesSet(); reader.open(MetaDataInstanceFactory.createStepExecution().getExecutionContext()); // read try { int count = 0; String line; while ((line = reader.read()) != null) { assertEquals(String.valueOf(count), line); count++; } assertEquals(EXPECTED_COUNT, count); } catch (Exception e) { throw e; } finally { reader.close(); } }
From source file:nu.yona.server.batch.jobs.SendSystemMessageBatchJob.java
private JdbcPagingItemReader<UUID> createReader( final SqlPagingQueryProviderFactoryBean sqlPagingQueryProviderFactoryBean) { try {//w w w.j a v a 2s . c o m JdbcPagingItemReader<UUID> reader = new JdbcPagingItemReader<>(); reader.setQueryProvider(sqlPagingQueryProviderFactoryBean.getObject()); reader.setDataSource(dataSource); reader.setPageSize(USERS_CHUNK_SIZE); reader.setRowMapper(singleUUIDColumnRowMapper()); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; } catch (Exception e) { throw YonaException.unexpected(e); } }
From source file:nu.yona.server.batch.jobs.ActivityAggregationBatchJob.java
private JdbcPagingItemReader<Long> createReader(Date cutOffDate, int chunkSize, SqlPagingQueryProviderFactoryBean sqlPagingQueryProviderFactoryBean) { try {//from w w w. j a va 2 s . co m JdbcPagingItemReader<Long> reader = new JdbcPagingItemReader<>(); reader.setQueryProvider(sqlPagingQueryProviderFactoryBean.getObject()); reader.setDataSource(dataSource); reader.setPageSize(chunkSize); reader.setRowMapper(SingleColumnRowMapper.newInstance(Long.class)); reader.setParameterValues(Collections.singletonMap("cutOffDate", cutOffDate)); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; } catch (Exception e) { throw YonaException.unexpected(e); } }
From source file:io.spring.batch.configuration.JobConfiguration.java
@Bean @StepScope// w ww . ja va2s. c o m public JdbcPagingItemReader<Customer> pagingItemReader( @Value("#{stepExecutionContext['minValue']}") Long minValue, @Value("#{stepExecutionContext['maxValue']}") Long maxValue) { System.out.println("reading " + minValue + " to " + maxValue); JdbcPagingItemReader<Customer> reader = new JdbcPagingItemReader<>(); reader.setDataSource(this.dataSource); reader.setFetchSize(1000); reader.setRowMapper(new CustomerRowMapper()); MySqlPagingQueryProvider queryProvider = new MySqlPagingQueryProvider(); queryProvider.setSelectClause("id, firstName, lastName, birthdate"); queryProvider.setFromClause("from customer"); queryProvider.setWhereClause("where id >= " + minValue + " and id <= " + maxValue); Map<String, Order> sortKeys = new HashMap<>(1); sortKeys.put("id", Order.ASCENDING); queryProvider.setSortKeys(sortKeys); reader.setQueryProvider(queryProvider); return reader; }
From source file:uk.ac.kcl.batch.JobConfiguration.java
@Bean @StepScope// w w w . j av a 2s. c o m @Qualifier("documentItemReader") @Profile("jdbc_in") public ItemReader<Document> documentItemReader(@Value("#{stepExecutionContext[minValue]}") String minValue, @Value("#{stepExecutionContext[maxValue]}") String maxValue, @Value("#{stepExecutionContext[min_time_stamp]}") String minTimeStamp, @Value("#{stepExecutionContext[max_time_stamp]}") String maxTimeStamp, @Qualifier("documentRowMapper") RowMapper<Document> documentRowmapper, @Qualifier("sourceDataSource") DataSource jdbcDocumentSource) throws Exception { JdbcPagingItemReader<Document> reader = new JdbcPagingItemReader<>(); reader.setDataSource(jdbcDocumentSource); SqlPagingQueryProviderFactoryBean qp = new SqlPagingQueryProviderFactoryBean(); qp.setSelectClause(env.getProperty("source.selectClause")); qp.setFromClause(env.getProperty("source.fromClause")); qp.setSortKey(env.getProperty("source.sortKey")); qp.setWhereClause(stepPartitioner.getPartitioningLogic(minValue, maxValue, minTimeStamp, maxTimeStamp)); qp.setDataSource(jdbcDocumentSource); reader.setPageSize(Integer.parseInt(env.getProperty("source.pageSize"))); reader.setQueryProvider(qp.getObject()); reader.setRowMapper(documentRowmapper); return reader; }
From source file:org.springframework.batch.item.database.JdbcPagingItemReaderAsyncTests.java
protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<Foo>(); reader.setDataSource(dataSource); SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource);/*from w w w .j a v a 2s . c om*/ factory.setSelectClause("select ID, NAME, VALUE"); factory.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("VALUE", Order.ASCENDING); factory.setSortKeys(sortKeys); reader.setQueryProvider(factory.getObject()); reader.setRowMapper(new RowMapper<Foo>() { @Override public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); foo.setId(rs.getInt(1)); foo.setName(rs.getString(2)); foo.setValue(rs.getInt(3)); return foo; } }); reader.setPageSize(PAGE_SIZE); reader.afterPropertiesSet(); reader.setSaveState(false); return reader; }
From source file:org.springframework.batch.item.database.JdbcPagingRestartIntegrationTests.java
protected ItemReader<Foo> getItemReader() throws Exception { JdbcPagingItemReader<Foo> reader = new JdbcPagingItemReader<Foo>(); reader.setDataSource(dataSource); SqlPagingQueryProviderFactoryBean factory = new SqlPagingQueryProviderFactoryBean(); factory.setDataSource(dataSource);//from www . j a va 2 s . c om factory.setSelectClause("select ID, NAME, VALUE"); factory.setFromClause("from T_FOOS"); Map<String, Order> sortKeys = new LinkedHashMap<String, Order>(); sortKeys.put("VALUE", Order.ASCENDING); factory.setSortKeys(sortKeys); reader.setQueryProvider(factory.getObject()); reader.setRowMapper(new RowMapper<Foo>() { @Override public Foo mapRow(ResultSet rs, int i) throws SQLException { Foo foo = new Foo(); foo.setId(rs.getInt(1)); foo.setName(rs.getString(2)); foo.setValue(rs.getInt(3)); return foo; } }); reader.setPageSize(pageSize); reader.afterPropertiesSet(); reader.setSaveState(true); return reader; }