RESOLVED - issue BATCH-1420: Late Binding only happens first time when using inner bean definition with collection property

This commit is contained in:
dsyer
2009-10-17 12:49:57 +00:00
parent 232d739dbd
commit 7b28b2a8f1
4 changed files with 6 additions and 50 deletions

View File

@@ -1,40 +0,0 @@
package org.springframework.batch.sample;
import static org.junit.Assert.assertEquals;
import javax.sql.DataSource;
import org.junit.runner.RunWith;
import org.springframework.batch.sample.common.StagingItemWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration()
public class ParallelJobFunctionalTests extends AbstractValidatingBatchLauncherTests {
private SimpleJdbcTemplate jdbcTemplate;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new SimpleJdbcTemplate(dataSource);
}
@Override
protected void validatePostConditions() throws Exception {
int count;
count = jdbcTemplate.queryForInt(
"SELECT COUNT(*) from BATCH_STAGING where PROCESSED=?",
StagingItemWriter.NEW);
assertEquals(0, count);
int total = jdbcTemplate.queryForInt(
"SELECT COUNT(*) from BATCH_STAGING");
count = jdbcTemplate.queryForInt(
"SELECT COUNT(*) from BATCH_STAGING where PROCESSED=?",
StagingItemWriter.DONE);
assertEquals(total, count);
}
}

View File

@@ -47,10 +47,6 @@ public class PartitionFileJobFunctionalTests extends AbstractJobTests {
@Qualifier("inputTestReader")
private ItemReader<CustomerCredit> inputReader;
@Autowired
@Qualifier("outputTestReader")
private ItemReader<CustomerCredit> outputReader;
/**
* Check the resulting credits correspond to inputs increased by fixed
* amount.
@@ -68,6 +64,8 @@ public class PartitionFileJobFunctionalTests extends AbstractJobTests {
JobExecution jobExecution = this.launchJob();
assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
@SuppressWarnings("unchecked")
ItemReader<CustomerCredit> outputReader = (ItemReader<CustomerCredit>) getApplicationContext().getBean("outputTestReader");
open(outputReader);
List<CustomerCredit> outputs = new ArrayList<CustomerCredit>(getCredits(outputReader));
close(outputReader);

View File

@@ -47,10 +47,6 @@ public class PartitionJdbcJobFunctionalTests extends AbstractJobTests {
@Qualifier("inputTestReader")
private ItemReader<CustomerCredit> inputReader;
@Autowired
@Qualifier("outputTestReader")
private ItemReader<CustomerCredit> outputReader;
/**
* Check the resulting credits correspond to inputs increased by fixed
* amount.
@@ -68,6 +64,8 @@ public class PartitionJdbcJobFunctionalTests extends AbstractJobTests {
JobExecution jobExecution = this.launchJob();
assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus());
@SuppressWarnings("unchecked")
ItemReader<CustomerCredit> outputReader = (ItemReader<CustomerCredit>) getApplicationContext().getBean("outputTestReader");
open(outputReader);
List<CustomerCredit> outputs = new ArrayList<CustomerCredit>(getCredits(outputReader));
close(outputReader);

View File

@@ -1,6 +1,6 @@
package org.springframework.batch.sample.common;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.springframework.batch.core.JobExecution;
@@ -38,7 +38,7 @@ public class OutputFileListenerTests {
listener.setInputKeyName("spam");
stepExecution.getExecutionContext().putString("spam", "bar");
listener.createOutputNameFromInput(stepExecution);
assertEquals("{outputFile=bar.csv, spam=bar}", stepExecution.getExecutionContext().toString());
assertEquals("bar.csv", stepExecution.getExecutionContext().getString("outputFile"));
}
}