OPEN - BATCH-550: Add skipCount in BATCH_STEP_EXECUTION table

rollback count made persistent
This commit is contained in:
robokaso
2008-04-30 13:16:16 +00:00
parent 0396023d33
commit 5d60375e1a
10 changed files with 35 additions and 17 deletions

View File

@@ -173,6 +173,13 @@ public class StepExecution extends Entity {
return new Integer(rollbackCount);
}
/**
* Setter for number of rollbacks for this execution
*/
public void setRollbackCount(int rollbackCount) {
this.rollbackCount = rollbackCount;
}
/**
* Gets the time this execution started
*

View File

@@ -62,18 +62,18 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
+ " KEY_NAME, STRING_VAL, DOUBLE_VAL, LONG_VAL, OBJECT_VAL) values(?,?,?,?,?,?,?)";
private static final String SAVE_STEP_EXECUTION = "INSERT into %PREFIX%STEP_EXECUTION(STEP_EXECUTION_ID, VERSION, STEP_NAME, JOB_EXECUTION_ID, START_TIME, "
+ "END_TIME, STATUS, COMMIT_COUNT, ITEM_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT) "
+ "values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ "END_TIME, STATUS, COMMIT_COUNT, ITEM_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, ROLLBACK_COUNT) "
+ "values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
private static final String UPDATE_STEP_EXECUTION_CONTEXT = "UPDATE %PREFIX%STEP_EXECUTION_CONTEXT set "
+ "TYPE_CD = ?, STRING_VAL = ?, DOUBLE_VAL = ?, LONG_VAL = ?, OBJECT_VAL = ? where STEP_EXECUTION_ID = ? and KEY_NAME = ?";
private static final String UPDATE_STEP_EXECUTION = "UPDATE %PREFIX%STEP_EXECUTION set START_TIME = ?, END_TIME = ?, "
+ "STATUS = ?, COMMIT_COUNT = ?, ITEM_COUNT = ?, CONTINUABLE = ? , EXIT_CODE = ?, "
+ "EXIT_MESSAGE = ?, VERSION = ?, READ_SKIP_COUNT = ?, WRITE_SKIP_COUNT = ? where STEP_EXECUTION_ID = ? and VERSION = ?";
+ "EXIT_MESSAGE = ?, VERSION = ?, READ_SKIP_COUNT = ?, WRITE_SKIP_COUNT = ?, ROLLBACK_COUNT = ? where STEP_EXECUTION_ID = ? and VERSION = ?";
private static final String GET_STEP_EXECUTION = "SELECT STEP_EXECUTION_ID, STEP_NAME, START_TIME, END_TIME, STATUS, COMMIT_COUNT,"
+ " ITEM_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT from %PREFIX%STEP_EXECUTION where STEP_NAME = ? and JOB_EXECUTION_ID = ?";
+ " ITEM_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, ROLLBACK_COUNT from %PREFIX%STEP_EXECUTION where STEP_NAME = ? and JOB_EXECUTION_ID = ?";
private static final String CURRENT_VERSION_STEP_EXECUTION = "SELECT VERSION FROM %PREFIX%STEP_EXECUTION WHERE STEP_EXECUTION_ID=?";
@@ -186,13 +186,14 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
stepExecution.getEndTime(), stepExecution.getStatus().toString(), stepExecution.getCommitCount(),
stepExecution.getItemCount(), stepExecution.getExitStatus().isContinuable() ? "Y" : "N",
stepExecution.getExitStatus().getExitCode(), stepExecution.getExitStatus().getExitDescription(),
Integer.valueOf(stepExecution.getReadSkipCount()), Integer.valueOf(stepExecution.getWriteSkipCount()) };
Integer.valueOf(stepExecution.getReadSkipCount()), Integer.valueOf(stepExecution.getWriteSkipCount()),
stepExecution.getRollbackCount() };
getJdbcTemplate().update(
getQuery(SAVE_STEP_EXECUTION),
parameters,
new int[] { Types.INTEGER, Types.INTEGER, Types.VARCHAR, Types.INTEGER, Types.TIMESTAMP,
Types.TIMESTAMP, Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.CHAR, Types.VARCHAR,
Types.VARCHAR, Types.INTEGER, Types.INTEGER });
Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.INTEGER });
}
/**
@@ -322,14 +323,14 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
stepExecution.getExitStatus().isContinuable() ? "Y" : "N",
stepExecution.getExitStatus().getExitCode(), exitDescription, version,
Integer.valueOf(stepExecution.getReadSkipCount()),
Integer.valueOf(stepExecution.getWriteSkipCount()), stepExecution.getId(),
stepExecution.getVersion() };
Integer.valueOf(stepExecution.getWriteSkipCount()), stepExecution.getRollbackCount(),
stepExecution.getId(), stepExecution.getVersion() };
int count = getJdbcTemplate().update(
getQuery(UPDATE_STEP_EXECUTION),
parameters,
new int[] { Types.TIMESTAMP, Types.TIMESTAMP, Types.VARCHAR, Types.INTEGER, Types.INTEGER,
Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.INTEGER,
Types.INTEGER, Types.INTEGER });
Types.INTEGER, Types.INTEGER, Types.INTEGER });
// Avoid concurrent modifications...
if (count == 0) {
@@ -368,6 +369,7 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
stepExecution.setExecutionContext(findExecutionContext(stepExecution));
stepExecution.setReadSkipCount(rs.getInt(11));
stepExecution.setWriteSkipCount(rs.getInt(12));
stepExecution.setRollbackCount(rs.getInt(13));
return stepExecution;
}

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT BIGINT ,
ITEM_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR(20),
EXIT_MESSAGE VARCHAR(2500),

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT BIGINT ,
ITEM_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR(20),
EXIT_MESSAGE VARCHAR(2500),

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT BIGINT ,
ITEM_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR(20),
EXIT_MESSAGE VARCHAR(2500),

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT BIGINT ,
ITEM_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR(20),
EXIT_MESSAGE VARCHAR(2500),

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT NUMBER(38) ,
ITEM_COUNT NUMBER(38) ,
READ_SKIP_COUNT NUMBER(38) ,
WRITE_SKIP_COUNT NUMBER(38) ,
WRITE_SKIP_COUNT NUMBER(38) ,
ROLLBACK_COUNT NUMBER(38) ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR2(20),
EXIT_MESSAGE VARCHAR2(2500),

View File

@@ -54,7 +54,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT BIGINT ,
ITEM_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1),
EXIT_CODE VARCHAR(20),
EXIT_MESSAGE VARCHAR(2500),

View File

@@ -43,7 +43,8 @@ CREATE TABLE BATCH_STEP_EXECUTION (
COMMIT_COUNT ${BIGINT} ,
ITEM_COUNT ${BIGINT} ,
READ_SKIP_COUNT ${BIGINT} ,
WRITE_SKIP_COUNT ${BIGINT} ,
WRITE_SKIP_COUNT ${BIGINT} ,
ROLLBACK_COUNT ${BIGINT} ,
CONTINUABLE CHAR(1),
EXIT_CODE ${VARCHAR}(20),
EXIT_MESSAGE ${VARCHAR}(2500),

View File

@@ -85,6 +85,7 @@ public abstract class AbstractStepExecutionDaoTests extends AbstractTransactiona
stepExecution.setStatus(BatchStatus.STARTED);
stepExecution.setReadSkipCount(7);
stepExecution.setWriteSkipCount(5);
stepExecution.setRollbackCount(3);
dao.saveStepExecution(stepExecution);
StepExecution retrieved = dao.getStepExecution(jobExecution, step);
@@ -92,7 +93,8 @@ public abstract class AbstractStepExecutionDaoTests extends AbstractTransactiona
assertEquals(BatchStatus.STARTED, retrieved.getStatus());
assertEquals(stepExecution.getReadSkipCount(), retrieved.getReadSkipCount());
assertEquals(stepExecution.getWriteSkipCount(), retrieved.getWriteSkipCount());
assertEquals(stepExecution.getRollbackCount(), retrieved.getRollbackCount());
assertNull(dao.getStepExecution(jobExecution, new StepSupport("not-existing step")));
}