From 3b72c04befc92468d9c179bf5eae6f0fb403fc9a Mon Sep 17 00:00:00 2001 From: dsyer Date: Tue, 25 Mar 2008 06:57:55 +0000 Subject: [PATCH] [BATCH-503] Fix TX definition in samples. Also add multi-environment support in samples (mysql and derby as examples) --- .../src/main/resources/schema-db2.sql | 10 +-- .../src/main/resources/schema-derby.sql | 10 +-- .../src/main/resources/schema-hsqldb.sql | 10 +-- .../src/main/resources/schema-mysql.sql | 10 +-- .../src/main/resources/schema-oracle10g.sql | 10 +-- .../src/main/resources/schema-postgresql.sql | 10 +-- spring-batch-core/src/main/sql/init.sql.vpp | 10 +-- .../src/main/resources/batch-derby.properties | 18 ++++++ ...batch.properties => batch-hsql.properties} | 8 +-- .../src/main/resources/batch-mysql.properties | 18 ++++++ .../main/resources/business-schema-db2.sql | 30 ++++----- .../main/resources/business-schema-derby.sql | 30 ++++----- .../main/resources/business-schema-hsqldb.sql | 42 ++++++------ .../main/resources/business-schema-mysql.sql | 20 +++--- .../resources/business-schema-oracle10g.sql | 30 ++++----- .../resources/business-schema-postgresql.sql | 30 ++++----- .../main/resources/data-source-context.xml | 64 ++++++++++--------- .../resources/simple-job-launcher-context.xml | 6 +- .../src/main/sql/init.sql.vpp | 4 +- .../sample/dao/JdbcJobRepositoryTests.java | 3 + 20 files changed, 205 insertions(+), 168 deletions(-) create mode 100644 spring-batch-samples/src/main/resources/batch-derby.properties rename spring-batch-samples/src/main/resources/{batch.properties => batch-hsql.properties} (71%) create mode 100644 spring-batch-samples/src/main/resources/batch-mysql.properties diff --git a/spring-batch-core/src/main/resources/schema-db2.sql b/spring-batch-core/src/main/resources/schema-db2.sql index bd8bc12b8..2cfc46608 100644 --- a/spring-batch-core/src/main/resources/schema-db2.sql +++ b/spring-batch-core/src/main/resources/schema-db2.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT PRIMARY KEY , VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BLOB, diff --git a/spring-batch-core/src/main/resources/schema-derby.sql b/spring-batch-core/src/main/resources/schema-derby.sql index acabfac0e..9e55d5723 100644 --- a/spring-batch-core/src/main/resources/schema-derby.sql +++ b/spring-batch-core/src/main/resources/schema-derby.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BLOB, diff --git a/spring-batch-core/src/main/resources/schema-hsqldb.sql b/spring-batch-core/src/main/resources/schema-hsqldb.sql index 326720ae6..d8f5ebe18 100644 --- a/spring-batch-core/src/main/resources/schema-hsqldb.sql +++ b/spring-batch-core/src/main/resources/schema-hsqldb.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT IDENTITY PRIMARY KEY , VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL LONGVARBINARY, diff --git a/spring-batch-core/src/main/resources/schema-mysql.sql b/spring-batch-core/src/main/resources/schema-mysql.sql index 0101d212b..e28c17980 100644 --- a/spring-batch-core/src/main/resources/schema-mysql.sql +++ b/spring-batch-core/src/main/resources/schema-mysql.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT PRIMARY KEY , VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BLOB, diff --git a/spring-batch-core/src/main/resources/schema-oracle10g.sql b/spring-batch-core/src/main/resources/schema-oracle10g.sql index a0638ae02..783d4551a 100644 --- a/spring-batch-core/src/main/resources/schema-oracle10g.sql +++ b/spring-batch-core/src/main/resources/schema-oracle10g.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID NUMBER(38) PRIMARY KEY , VERSION NUMBER(38), JOB_INSTANCE_ID NUMBER(38) NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL NUMBER(38) , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID NUMBER(38) NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT NUMBER(38) , ITEM_COUNT NUMBER(38) , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BLOB, diff --git a/spring-batch-core/src/main/resources/schema-postgresql.sql b/spring-batch-core/src/main/resources/schema-postgresql.sql index 998cf627c..3d349d253 100644 --- a/spring-batch-core/src/main/resources/schema-postgresql.sql +++ b/spring-batch-core/src/main/resources/schema-postgresql.sql @@ -21,8 +21,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID BIGINT PRIMARY KEY , VERSION BIGINT, JOB_INSTANCE_ID BIGINT NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -36,7 +36,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL BIGINT , DOUBLE_VAL DOUBLE PRECISION, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -49,7 +49,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID BIGINT NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT BIGINT , ITEM_COUNT BIGINT , @@ -65,7 +65,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL DOUBLE PRECISION , OBJECT_VAL BYTEA, diff --git a/spring-batch-core/src/main/sql/init.sql.vpp b/spring-batch-core/src/main/sql/init.sql.vpp index cfc2a4bb4..d51ee1827 100644 --- a/spring-batch-core/src/main/sql/init.sql.vpp +++ b/spring-batch-core/src/main/sql/init.sql.vpp @@ -10,8 +10,8 @@ CREATE TABLE BATCH_JOB_EXECUTION ( JOB_EXECUTION_ID ${BIGINT} $!{IDENTITY} PRIMARY KEY $!{GENERATED}, VERSION ${BIGINT}, JOB_INSTANCE_ID ${BIGINT} NOT NULL, - START_TIME TIMESTAMP NULL, - END_TIME TIMESTAMP NULL, + START_TIME TIMESTAMP DEFAULT NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), CONTINUABLE CHAR(1), EXIT_CODE VARCHAR(20), @@ -25,7 +25,7 @@ CREATE TABLE BATCH_JOB_PARAMS ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(100) NOT NULL , STRING_VAL VARCHAR(250) , - DATE_VAL TIMESTAMP NULL, + DATE_VAL TIMESTAMP DEFAULT NULL, LONG_VAL ${BIGINT} , DOUBLE_VAL ${DOUBLE}, constraint JOB_INSTANCE_PARAMS_FK foreign key (JOB_INSTANCE_ID) @@ -38,7 +38,7 @@ CREATE TABLE BATCH_STEP_EXECUTION ( STEP_NAME VARCHAR(100) NOT NULL, JOB_EXECUTION_ID ${BIGINT} NOT NULL, START_TIME TIMESTAMP NOT NULL , - END_TIME TIMESTAMP NULL, + END_TIME TIMESTAMP DEFAULT NULL, STATUS VARCHAR(10), COMMIT_COUNT ${BIGINT} , ITEM_COUNT ${BIGINT} , @@ -54,7 +54,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT ( TYPE_CD VARCHAR(6) NOT NULL , KEY_NAME VARCHAR(1000) NOT NULL , STRING_VAL VARCHAR(1000) , - DATE_VAL TIMESTAMP , + DATE_VAL TIMESTAMP DEFAULT NULL , LONG_VAL VARCHAR(10) , DOUBLE_VAL ${DOUBLE} , OBJECT_VAL ${BLOB}, diff --git a/spring-batch-samples/src/main/resources/batch-derby.properties b/spring-batch-samples/src/main/resources/batch-derby.properties new file mode 100644 index 000000000..4ad5699c7 --- /dev/null +++ b/spring-batch-samples/src/main/resources/batch-derby.properties @@ -0,0 +1,18 @@ +# Placeholders batch.* +# for Derby: +batch.jdbc.driver=org.apache.derby.jdbc.EmbeddedDriver +batch.jdbc.url=jdbc:derby:derby.home/test;create=true +batch.jdbc.user=sa +batch.jdbc.password= +batch.schema= +batch.jndi.name= +batch.naming.factory.initial= +batch.naming.provider.url= +batch.schema.script=schema-derby.sql +batch.business.schema.script=business-schema-derby.sql +batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.DerbyMaxValueIncrementer +batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler + +# Bean Properties for override +# when not using sequences: +incrementerParent.columnName=ID diff --git a/spring-batch-samples/src/main/resources/batch.properties b/spring-batch-samples/src/main/resources/batch-hsql.properties similarity index 71% rename from spring-batch-samples/src/main/resources/batch.properties rename to spring-batch-samples/src/main/resources/batch-hsql.properties index 926b89d14..7f28d4f4a 100644 --- a/spring-batch-samples/src/main/resources/batch.properties +++ b/spring-batch-samples/src/main/resources/batch-hsql.properties @@ -11,17 +11,11 @@ batch.schema= batch.jndi.name= batch.naming.factory.initial= batch.naming.provider.url= -batch.database.vendor=HSQLDB batch.schema.script=schema-hsqldb.sql batch.business.schema.script=business-schema-hsqldb.sql batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler -# Other platforms: -# org.springframework.jdbc.support.incrementer.DB2SequenceMaxValueIncrementer -# org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIncrementer -# batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.DerbyMaxValueIncrementer - # Bean Properties for override -# for HSQLDB: +# when not using sequences: incrementerParent.columnName=ID diff --git a/spring-batch-samples/src/main/resources/batch-mysql.properties b/spring-batch-samples/src/main/resources/batch-mysql.properties new file mode 100644 index 000000000..0fb7e68d7 --- /dev/null +++ b/spring-batch-samples/src/main/resources/batch-mysql.properties @@ -0,0 +1,18 @@ +# Placeholders batch.* +# for MySQL: +batch.jdbc.driver=com.mysql.jdbc.Driver +batch.jdbc.url=jdbc:mysql://localhost/test +batch.jdbc.user=root +batch.jdbc.password=root +batch.schema= +batch.jndi.name= +batch.naming.factory.initial= +batch.naming.provider.url= +batch.schema.script=schema-mysql.sql +batch.business.schema.script=business-schema-mysql.sql +batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer +batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler + +# Bean Properties for override +# when not using sequences: +incrementerParent.columnName=ID diff --git a/spring-batch-samples/src/main/resources/business-schema-db2.sql b/spring-batch-samples/src/main/resources/business-schema-db2.sql index 11ab84d3a..00c316fc5 100644 --- a/spring-batch-samples/src/main/resources/business-schema-db2.sql +++ b/spring-batch-samples/src/main/resources/business-schema-db2.sql @@ -1,19 +1,19 @@ -- Autogenerated: do not edit this file -DROP SEQUENCE BATCH_STAGING_SEQ ; -DROP SEQUENCE TRADE_SEQ ; -DROP SEQUENCE CUSTOMER_SEQ ; -DROP TABLE BATCH_STAGING ; -DROP TABLE TRADE ; -DROP TABLE CUSTOMER ; -DROP TABLE PLAYERS ; -DROP TABLE GAMES ; -DROP TABLE PLAYER_SUMMARY ; - +DROP SEQUENCE BATCH_STAGING_SEQ ; +DROP SEQUENCE TRADE_SEQ ; +DROP SEQUENCE CUSTOMER_SEQ ; +DROP TABLE BATCH_STAGING ; +DROP TABLE TRADE ; +DROP TABLE CUSTOMER ; +DROP TABLE PLAYERS ; +DROP TABLE GAMES ; +DROP TABLE PLAYER_SUMMARY ; + -- Autogenerated: do not edit this file -CREATE SEQUENCE CUSTOMER_SEQ; -CREATE SEQUENCE BATCH_STAGING_SEQ; -CREATE SEQUENCE TRADE_SEQ; +CREATE SEQUENCE CUSTOMER_SEQ; +CREATE SEQUENCE BATCH_STAGING_SEQ; +CREATE SEQUENCE TRADE_SEQ; CREATE TABLE BATCH_STAGING ( ID BIGINT PRIMARY KEY , @@ -27,7 +27,7 @@ CREATE TABLE TRADE ( VERSION BIGINT, ISIN VARCHAR(45) NOT NULL, QUANTITY BIGINT, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -35,7 +35,7 @@ CREATE TABLE CUSTOMER ( ID BIGINT PRIMARY KEY , VERSION BIGINT, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/business-schema-derby.sql b/spring-batch-samples/src/main/resources/business-schema-derby.sql index d62f7c1b8..d8d5e3cc1 100644 --- a/spring-batch-samples/src/main/resources/business-schema-derby.sql +++ b/spring-batch-samples/src/main/resources/business-schema-derby.sql @@ -1,19 +1,19 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STAGING_SEQ ; -DROP TABLE TRADE_SEQ ; -DROP TABLE CUSTOMER_SEQ ; -DROP TABLE BATCH_STAGING ; -DROP TABLE TRADE ; -DROP TABLE CUSTOMER ; -DROP TABLE PLAYERS ; -DROP TABLE GAMES ; -DROP TABLE PLAYER_SUMMARY ; - +DROP TABLE BATCH_STAGING_SEQ ; +DROP TABLE TRADE_SEQ ; +DROP TABLE CUSTOMER_SEQ ; +DROP TABLE BATCH_STAGING ; +DROP TABLE TRADE ; +DROP TABLE CUSTOMER ; +DROP TABLE PLAYERS ; +DROP TABLE GAMES ; +DROP TABLE PLAYER_SUMMARY ; + -- Autogenerated: do not edit this file -CREATE TABLE CUSTOMER_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); -CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); -CREATE TABLE TRADE_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); +CREATE TABLE CUSTOMER_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); +CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); +CREATE TABLE TRADE_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1)); CREATE TABLE BATCH_STAGING ( ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, @@ -27,7 +27,7 @@ CREATE TABLE TRADE ( VERSION BIGINT, ISIN VARCHAR(45) NOT NULL, QUANTITY BIGINT, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -35,7 +35,7 @@ CREATE TABLE CUSTOMER ( ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, VERSION BIGINT, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/business-schema-hsqldb.sql b/spring-batch-samples/src/main/resources/business-schema-hsqldb.sql index dc0f2c449..4077fb8d9 100644 --- a/spring-batch-samples/src/main/resources/business-schema-hsqldb.sql +++ b/spring-batch-samples/src/main/resources/business-schema-hsqldb.sql @@ -1,25 +1,25 @@ -- Autogenerated: do not edit this file -DROP TABLE BATCH_STAGING_SEQ IF EXISTS; -DROP TABLE TRADE_SEQ IF EXISTS; -DROP TABLE CUSTOMER_SEQ IF EXISTS; -DROP TABLE BATCH_STAGING IF EXISTS; -DROP TABLE TRADE IF EXISTS; -DROP TABLE CUSTOMER IF EXISTS; -DROP TABLE PLAYERS IF EXISTS; -DROP TABLE GAMES IF EXISTS; -DROP TABLE PLAYER_SUMMARY IF EXISTS; - +DROP TABLE BATCH_STAGING_SEQ IF EXISTS; +DROP TABLE TRADE_SEQ IF EXISTS; +DROP TABLE CUSTOMER_SEQ IF EXISTS; +DROP TABLE BATCH_STAGING IF EXISTS; +DROP TABLE TRADE IF EXISTS; +DROP TABLE CUSTOMER IF EXISTS; +DROP TABLE PLAYERS IF EXISTS; +DROP TABLE GAMES IF EXISTS; +DROP TABLE PLAYER_SUMMARY IF EXISTS; + -- Autogenerated: do not edit this file -CREATE TABLE CUSTOMER_SEQ ( - ID BIGINT IDENTITY -); -CREATE TABLE BATCH_STAGING_SEQ ( - ID BIGINT IDENTITY -); -CREATE TABLE TRADE_SEQ ( - ID BIGINT IDENTITY -); +CREATE TABLE CUSTOMER_SEQ ( + ID BIGINT IDENTITY +); +CREATE TABLE BATCH_STAGING_SEQ ( + ID BIGINT IDENTITY +); +CREATE TABLE TRADE_SEQ ( + ID BIGINT IDENTITY +); CREATE TABLE BATCH_STAGING ( ID BIGINT IDENTITY PRIMARY KEY , @@ -33,7 +33,7 @@ CREATE TABLE TRADE ( VERSION BIGINT, ISIN VARCHAR(45) NOT NULL, QUANTITY BIGINT, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -41,7 +41,7 @@ CREATE TABLE CUSTOMER ( ID BIGINT IDENTITY PRIMARY KEY , VERSION BIGINT, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/business-schema-mysql.sql b/spring-batch-samples/src/main/resources/business-schema-mysql.sql index dcac1a46a..fed789385 100644 --- a/spring-batch-samples/src/main/resources/business-schema-mysql.sql +++ b/spring-batch-samples/src/main/resources/business-schema-mysql.sql @@ -8,20 +8,20 @@ DROP TABLE IF EXISTS CUSTOMER ; DROP TABLE IF EXISTS PLAYERS ; DROP TABLE IF EXISTS GAMES ; DROP TABLE IF EXISTS PLAYER_SUMMARY ; - + -- Autogenerated: do not edit this file -CREATE TABLE CUSTOMER_SEQ (ID BIGINT NOT NULL) type=MYISAM; -INSERT INTO CUSTOMER_SEQ values(0); -CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT NOT NULL) type=MYISAM; -INSERT INTO BATCH_STAGING_SEQ values(0); -CREATE TABLE TRADE_SEQ (ID BIGINT NOT NULL) type=MYISAM; -INSERT INTO TRADE_SEQ values(0); +CREATE TABLE CUSTOMER_SEQ (ID BIGINT NOT NULL) type=MYISAM; +INSERT INTO CUSTOMER_SEQ values(0); +CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT NOT NULL) type=MYISAM; +INSERT INTO BATCH_STAGING_SEQ values(0); +CREATE TABLE TRADE_SEQ (ID BIGINT NOT NULL) type=MYISAM; +INSERT INTO TRADE_SEQ values(0); CREATE TABLE BATCH_STAGING ( ID BIGINT unsigned PRIMARY KEY , JOB_ID BIGINT NOT NULL, - VALUE ${BLOB} NOT NULL, + VALUE BLOB NOT NULL, PROCESSED CHAR(1) NOT NULL ); @@ -30,7 +30,7 @@ CREATE TABLE TRADE ( VERSION BIGINT, ISIN VARCHAR(45) NOT NULL, QUANTITY BIGINT, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -38,7 +38,7 @@ CREATE TABLE CUSTOMER ( ID BIGINT unsigned PRIMARY KEY , VERSION BIGINT, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/business-schema-oracle10g.sql b/spring-batch-samples/src/main/resources/business-schema-oracle10g.sql index adca48a3e..c21dbc379 100644 --- a/spring-batch-samples/src/main/resources/business-schema-oracle10g.sql +++ b/spring-batch-samples/src/main/resources/business-schema-oracle10g.sql @@ -1,19 +1,19 @@ -- Autogenerated: do not edit this file -DROP SEQUENCE BATCH_STAGING_SEQ ; -DROP SEQUENCE TRADE_SEQ ; -DROP SEQUENCE CUSTOMER_SEQ ; -DROP TABLE BATCH_STAGING ; -DROP TABLE TRADE ; -DROP TABLE CUSTOMER ; -DROP TABLE PLAYERS ; -DROP TABLE GAMES ; -DROP TABLE PLAYER_SUMMARY ; - +DROP SEQUENCE BATCH_STAGING_SEQ ; +DROP SEQUENCE TRADE_SEQ ; +DROP SEQUENCE CUSTOMER_SEQ ; +DROP TABLE BATCH_STAGING ; +DROP TABLE TRADE ; +DROP TABLE CUSTOMER ; +DROP TABLE PLAYERS ; +DROP TABLE GAMES ; +DROP TABLE PLAYER_SUMMARY ; + -- Autogenerated: do not edit this file -CREATE SEQUENCE CUSTOMER_SEQ; -CREATE SEQUENCE BATCH_STAGING_SEQ; -CREATE SEQUENCE TRADE_SEQ; +CREATE SEQUENCE CUSTOMER_SEQ; +CREATE SEQUENCE BATCH_STAGING_SEQ; +CREATE SEQUENCE TRADE_SEQ; CREATE TABLE BATCH_STAGING ( ID NUMBER(38) PRIMARY KEY , @@ -27,7 +27,7 @@ CREATE TABLE TRADE ( VERSION NUMBER(38), ISIN VARCHAR(45) NOT NULL, QUANTITY NUMBER(38), - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -35,7 +35,7 @@ CREATE TABLE CUSTOMER ( ID NUMBER(38) PRIMARY KEY , VERSION NUMBER(38), NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/business-schema-postgresql.sql b/spring-batch-samples/src/main/resources/business-schema-postgresql.sql index be262c17a..db2e78ddd 100644 --- a/spring-batch-samples/src/main/resources/business-schema-postgresql.sql +++ b/spring-batch-samples/src/main/resources/business-schema-postgresql.sql @@ -1,19 +1,19 @@ -- Autogenerated: do not edit this file -DROP SEQUENCE BATCH_STAGING_SEQ ; -DROP SEQUENCE TRADE_SEQ ; -DROP SEQUENCE CUSTOMER_SEQ ; -DROP TABLE BATCH_STAGING ; -DROP TABLE TRADE ; -DROP TABLE CUSTOMER ; -DROP TABLE PLAYERS ; -DROP TABLE GAMES ; -DROP TABLE PLAYER_SUMMARY ; - +DROP SEQUENCE BATCH_STAGING_SEQ ; +DROP SEQUENCE TRADE_SEQ ; +DROP SEQUENCE CUSTOMER_SEQ ; +DROP TABLE BATCH_STAGING ; +DROP TABLE TRADE ; +DROP TABLE CUSTOMER ; +DROP TABLE PLAYERS ; +DROP TABLE GAMES ; +DROP TABLE PLAYER_SUMMARY ; + -- Autogenerated: do not edit this file -CREATE SEQUENCE CUSTOMER_SEQ; -CREATE SEQUENCE BATCH_STAGING_SEQ; -CREATE SEQUENCE TRADE_SEQ; +CREATE SEQUENCE CUSTOMER_SEQ; +CREATE SEQUENCE BATCH_STAGING_SEQ; +CREATE SEQUENCE TRADE_SEQ; CREATE TABLE BATCH_STAGING ( ID BIGINT PRIMARY KEY , @@ -27,7 +27,7 @@ CREATE TABLE TRADE ( VERSION BIGINT, ISIN VARCHAR(45) NOT NULL, QUANTITY BIGINT, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -35,7 +35,7 @@ CREATE TABLE CUSTOMER ( ID BIGINT PRIMARY KEY , VERSION BIGINT, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/main/resources/data-source-context.xml b/spring-batch-samples/src/main/resources/data-source-context.xml index 317bb73a4..b7590338c 100644 --- a/spring-batch-samples/src/main/resources/data-source-context.xml +++ b/spring-batch-samples/src/main/resources/data-source-context.xml @@ -1,23 +1,18 @@ - - - - + + - - + @@ -29,44 +24,53 @@ - - + + + + + + + + environment + + + environment + + + + hsql + + + + + - - + + - + - - - - + + + - - - - + + - \ No newline at end of file diff --git a/spring-batch-samples/src/main/resources/simple-job-launcher-context.xml b/spring-batch-samples/src/main/resources/simple-job-launcher-context.xml index 92f74ffe4..f6f83b670 100644 --- a/spring-batch-samples/src/main/resources/simple-job-launcher-context.xml +++ b/spring-batch-samples/src/main/resources/simple-job-launcher-context.xml @@ -21,19 +21,19 @@ - - + + p:databaseType="${environment}" p:dataSource-ref="dataSource" /> diff --git a/spring-batch-samples/src/main/sql/init.sql.vpp b/spring-batch-samples/src/main/sql/init.sql.vpp index aa1e6155e..d6d01795e 100644 --- a/spring-batch-samples/src/main/sql/init.sql.vpp +++ b/spring-batch-samples/src/main/sql/init.sql.vpp @@ -16,7 +16,7 @@ CREATE TABLE TRADE ( VERSION ${BIGINT}, ISIN VARCHAR(45) NOT NULL, QUANTITY ${BIGINT}, - PRICE FLOAT, + PRICE DOUBLE, CUSTOMER VARCHAR(45) ); @@ -24,7 +24,7 @@ CREATE TABLE CUSTOMER ( ID ${BIGINT} $!{IDENTITY} PRIMARY KEY $!{GENERATED}, VERSION ${BIGINT}, NAME VARCHAR(45), - CREDIT FLOAT + CREDIT DOUBLE ); INSERT INTO customer (id, version, name, credit) VALUES (1, 0, 'customer1', 100000); diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java index 743db46ca..8f8ec6cb6 100644 --- a/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java +++ b/spring-batch-samples/src/test/java/org/springframework/batch/sample/dao/JdbcJobRepositoryTests.java @@ -76,6 +76,9 @@ public class JdbcJobRepositoryTests extends AbstractTransactionalDataSourceSprin jobConfiguration.setName("foo"); int before = getJdbcTemplate().queryForInt("SELECT COUNT(*) FROM BATCH_JOB_INSTANCE"); JobExecution execution = repository.createJobExecution(jobConfiguration, new JobParameters()); + setComplete(); + endTransaction(); + startNewTransaction(); int after = getJdbcTemplate().queryForInt("SELECT COUNT(*) FROM BATCH_JOB_INSTANCE"); assertEquals(before + 1, after); assertNotNull(execution.getId());