RESOLVED - BATCH-829: add persistent processSkipCount to StepExecution

This commit is contained in:
robokaso
2008-09-10 10:29:15 +00:00
parent 32280b9f9c
commit 8c787dbd2c
17 changed files with 106 additions and 70 deletions

View File

@@ -41,8 +41,8 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
private static final Log logger = LogFactory.getLog(JdbcStepExecutionDao.class);
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, READ_COUNT, FILTER_COUNT, WRITE_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED) "
+ "values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+ "END_TIME, STATUS, COMMIT_COUNT, READ_COUNT, FILTER_COUNT, WRITE_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED) "
+ "values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
private static final String UPDATE_STEP_EXECUTION = "UPDATE %PREFIX%STEP_EXECUTION set START_TIME = ?, END_TIME = ?, "
+ "STATUS = ?, COMMIT_COUNT = ?, READ_COUNT = ?, FILTER_COUNT = ?, WRITE_COUNT = ?, CONTINUABLE = ? , EXIT_CODE = ?, "
@@ -50,7 +50,7 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
+ " where STEP_EXECUTION_ID = ? and VERSION = ?";
private static final String GET_RAW_STEP_EXECUTIONS = "SELECT STEP_EXECUTION_ID, STEP_NAME, START_TIME, END_TIME, STATUS, COMMIT_COUNT,"
+ " READ_COUNT, FILTER_COUNT, WRITE_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED from %PREFIX%STEP_EXECUTION where JOB_EXECUTION_ID = ?";
+ " READ_COUNT, FILTER_COUNT, WRITE_COUNT, CONTINUABLE, EXIT_CODE, EXIT_MESSAGE, READ_SKIP_COUNT, WRITE_SKIP_COUNT, PROCESS_SKIP_COUNT, ROLLBACK_COUNT, LAST_UPDATED from %PREFIX%STEP_EXECUTION where JOB_EXECUTION_ID = ?";
private static final String GET_STEP_EXECUTIONS = GET_RAW_STEP_EXECUTIONS + " order by STEP_EXECUTION_ID";
@@ -108,14 +108,14 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
stepExecution.getReadCount(), stepExecution.getFilterCount(), stepExecution.getWriteCount(),
stepExecution.getExitStatus().isContinuable() ? "Y" : "N", stepExecution.getExitStatus().getExitCode(),
exitDescription, stepExecution.getReadSkipCount(), stepExecution.getWriteSkipCount(),
stepExecution.getRollbackCount(), stepExecution.getLastUpdated() };
stepExecution.getProcessSkipCount(), stepExecution.getRollbackCount(), stepExecution.getLastUpdated() };
getJdbcTemplate().getJdbcOperations().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.INTEGER, Types.INTEGER,
Types.CHAR, Types.VARCHAR, Types.VARCHAR, Types.INTEGER, Types.INTEGER, Types.INTEGER,
Types.TIMESTAMP });
Types.INTEGER, Types.TIMESTAMP });
}
/**
@@ -238,11 +238,13 @@ public class JdbcStepExecutionDao extends AbstractJdbcBatchMetadataDao implement
stepExecution.setReadCount(rs.getInt(7));
stepExecution.setFilterCount(rs.getInt(8));
stepExecution.setWriteCount(rs.getInt(9));
stepExecution.setExitStatus(new ExitStatus("Y".equals(rs.getString(10)), rs.getString(11), rs.getString(12)));
stepExecution
.setExitStatus(new ExitStatus("Y".equals(rs.getString(10)), rs.getString(11), rs.getString(12)));
stepExecution.setReadSkipCount(rs.getInt(13));
stepExecution.setWriteSkipCount(rs.getInt(14));
stepExecution.setRollbackCount(rs.getInt(15));
stepExecution.setLastUpdated(rs.getTimestamp(16));
stepExecution.setProcessSkipCount(rs.getInt(15));
stepExecution.setRollbackCount(rs.getInt(16));
stepExecution.setLastUpdated(rs.getTimestamp(17));
return stepExecution;
}

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT NUMBER(38) ,
READ_SKIP_COUNT NUMBER(38) ,
WRITE_SKIP_COUNT NUMBER(38) ,
PROCESS_SKIP_COUNT NUMBER(38) ,
ROLLBACK_COUNT NUMBER(38) ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR2(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
CONTINUABLE CHAR(1) ,
EXIT_CODE VARCHAR(20) ,

View File

@@ -60,6 +60,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT BIGINT NULL,
READ_SKIP_COUNT BIGINT NULL,
WRITE_SKIP_COUNT BIGINT NULL,
PROCESS_SKIP_COUNT BIGINT NULL,
ROLLBACK_COUNT BIGINT NULL,
CONTINUABLE CHAR(1) NULL,
EXIT_CODE VARCHAR(20) NULL,

View File

@@ -2,16 +2,20 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID BIGINT NOT NULL,
DISCRIMINATOR VARCHAR(1) NOT NULL,
TYPE_CD VARCHAR(6) NOT NULL,
KEY_NAME VARCHAR(1000) NOT NULL,
STRING_VAL VARCHAR(1000) ,
DATE_VAL TIMESTAMP DEFAULT NULL,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
OBJECT_VAL BLOB
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)

View File

@@ -2,16 +2,20 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID BIGINT NOT NULL,
DISCRIMINATOR VARCHAR(1) NOT NULL,
TYPE_CD VARCHAR(6) NOT NULL,
KEY_NAME VARCHAR(1000) NOT NULL,
STRING_VAL VARCHAR(1000) ,
DATE_VAL TIMESTAMP DEFAULT NULL,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
OBJECT_VAL BLOB
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)

View File

@@ -2,16 +2,20 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID BIGINT NOT NULL,
DISCRIMINATOR VARCHAR(1) NOT NULL,
TYPE_CD VARCHAR(6) NOT NULL,
KEY_NAME VARCHAR(1000) NOT NULL,
STRING_VAL VARCHAR(1000) ,
DATE_VAL TIMESTAMP DEFAULT NULL,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
OBJECT_VAL LONGVARBINARY
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT LONGVARCHAR ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT LONGVARCHAR ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)

View File

@@ -2,17 +2,21 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID BIGINT NOT NULL,
DISCRIMINATOR VARCHAR(1) NOT NULL,
TYPE_CD VARCHAR(6) NOT NULL,
KEY_NAME VARCHAR(1000) NOT NULL,
STRING_VAL VARCHAR(1000) ,
DATE_VAL DATETIME DEFAULT NULL,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
OBJECT_VAL BLOB
) type=InnoDB;
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT TEXT ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ENGINE=InnoDB;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT TEXT ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ENGINE=InnoDB;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)
SELECT STEP_EXECUTION_ID, 'S', TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL FROM BATCH_STEP_EXECUTION_CONTEXT;

View File

@@ -2,16 +2,20 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID NUMBER(38) NOT NULL,
DISCRIMINATOR VARCHAR2(1) NOT NULL,
TYPE_CD VARCHAR2(6) NOT NULL,
KEY_NAME VARCHAR2(1000) NOT NULL,
STRING_VAL VARCHAR2(1000) ,
DATE_VAL TIMESTAMP DEFAULT NULL,
LONG_VAL NUMBER(38) ,
DOUBLE_VAL NUMBER ,
OBJECT_VAL BLOB
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID NUMBER(38) NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID NUMBER(38) NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR2(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)

View File

@@ -2,16 +2,20 @@
-- Upgrades an existing 1.0 schema to version 1.1.
CREATE TABLE BATCH_EXECUTION_CONTEXT (
EXECUTION_ID BIGINT NOT NULL,
DISCRIMINATOR VARCHAR(1) NOT NULL,
TYPE_CD VARCHAR(6) NOT NULL,
KEY_NAME VARCHAR(1000) NOT NULL,
STRING_VAL VARCHAR(1000) ,
DATE_VAL TIMESTAMP DEFAULT NULL,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
OBJECT_VAL BYTEA
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT BYTEA ,
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
) ;
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT NOT NULL PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT BYTEA ,
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
) ;
INSERT INTO BATCH_EXECUTION_CONTEXT (EXECUTION_ID, DISCRIMINATOR, TYPE_CD, KEY_NAME, STRING_VAL, DATE_VAL, LONG_VAL, DOUBLE_VAL, OBJECT_VAL)

View File

@@ -47,6 +47,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
WRITE_COUNT ${BIGINT} $!{NULL},
READ_SKIP_COUNT ${BIGINT} $!{NULL},
WRITE_SKIP_COUNT ${BIGINT} $!{NULL},
PROCESS_SKIP_COUNT ${BIGINT} $!{NULL},
ROLLBACK_COUNT ${BIGINT} $!{NULL},
CONTINUABLE CHAR(1) $!{NULL},
EXIT_CODE ${VARCHAR}(20) $!{NULL},

View File

@@ -90,10 +90,10 @@ public abstract class AbstractStepExecutionDaoTests extends AbstractTransactiona
@Transactional @Test
public void testSaveAndFindExecution() {
stepExecution.setStatus(BatchStatus.STARTED);
stepExecution.setReadSkipCount(7);
stepExecution.setWriteSkipCount(5);
stepExecution.setProcessSkipCount(11);
stepExecution.setRollbackCount(3);
stepExecution.setLastUpdated(new Date(System.currentTimeMillis()));
stepExecution.setReadCount(17);
@@ -219,6 +219,7 @@ public abstract class AbstractStepExecutionDaoTests extends AbstractTransactiona
assertEquals(expected.getFilterCount(), actual.getFilterCount());
assertEquals(expected.getWriteSkipCount(), actual.getWriteSkipCount());
assertEquals(expected.getReadSkipCount(), actual.getReadSkipCount());
assertEquals(expected.getProcessSkipCount(), actual.getProcessSkipCount());
assertEquals(expected.getRollbackCount(), actual.getRollbackCount());
assertEquals(expected.getExitStatus(), actual.getExitStatus());
assertEquals(expected.getLastUpdated(), actual.getLastUpdated());