RESOLVED - issue BATCH-1459: H2 support
This commit is contained in:
15
spring-batch-samples/src/main/resources/batch-h2.properties
Normal file
15
spring-batch-samples/src/main/resources/batch-h2.properties
Normal file
@@ -0,0 +1,15 @@
|
||||
# Placeholders batch.*
|
||||
# for H2:
|
||||
batch.jdbc.driver=org.h2.jdbc.JdbcConnection
|
||||
batch.jdbc.url=jdbc:h2:file:target/data/h2
|
||||
batch.jdbc.user=sa
|
||||
batch.jdbc.password=
|
||||
batch.jdbc.testWhileIdle=false
|
||||
batch.jdbc.validationQuery=
|
||||
batch.drop.script=classpath:/org/springframework/batch/core/schema-drop-h2.sql
|
||||
batch.schema.script=classpath:/org/springframework/batch/core/schema-h2.sql
|
||||
batch.business.schema.script=classpath:/business-schema-h2.sql
|
||||
batch.data.source.init=true
|
||||
batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.H2SequenceMaxValueIncrementer
|
||||
batch.database.incrementer.parent=sequenceIncrementerParent
|
||||
batch.grid.size=2
|
||||
@@ -4,12 +4,13 @@ batch.jdbc.driver=oracle.jdbc.OracleDriver
|
||||
batch.jdbc.url=jdbc:oracle:thin:@//dbhost:1521/xe
|
||||
batch.jdbc.user=spring
|
||||
batch.jdbc.password=spring
|
||||
batch.schema=
|
||||
batch.jndi.name=
|
||||
batch.naming.factory.initial=
|
||||
batch.naming.provider.url=
|
||||
batch.jdbc.testWhileIdle=false
|
||||
batch.jdbc.validationQuery=
|
||||
batch.schema.script=/org/springframework/batch/core/schema-oracle10g.sql
|
||||
batch.business.schema.script=business-schema-oracle10g.sql
|
||||
batch.data.source.init=true
|
||||
batch.database.incrementer.class=org.springframework.jdbc.support.incrementer.OracleSequenceMaxValueIncrementer
|
||||
batch.database.incrementer.parent=sequenceIncrementerParent
|
||||
batch.lob.handler.class=org.springframework.jdbc.support.lob.DefaultLobHandler
|
||||
batch.grid.size=2
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -13,7 +13,7 @@ DROP TABLE ERROR_LOG ;
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE TABLE CUSTOMER_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (4);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (5);
|
||||
CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));
|
||||
INSERT INTO BATCH_STAGING_SEQ (ID) values (0);
|
||||
CREATE TABLE TRADE_SEQ (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));
|
||||
@@ -39,7 +39,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
-- Autogenerated: do not edit this file
|
||||
DROP SEQUENCE BATCH_STAGING_SEQ IF EXISTS;
|
||||
DROP SEQUENCE TRADE_SEQ IF EXISTS;
|
||||
DROP SEQUENCE 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 ERROR_LOG IF EXISTS;
|
||||
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE SEQUENCE CUSTOMER_SEQ START WITH 5;
|
||||
CREATE SEQUENCE BATCH_STAGING_SEQ START WITH 0;
|
||||
CREATE SEQUENCE TRADE_SEQ START WITH 0;
|
||||
|
||||
CREATE TABLE BATCH_STAGING (
|
||||
ID BIGINT IDENTITY NOT NULL PRIMARY KEY ,
|
||||
JOB_ID BIGINT NOT NULL,
|
||||
VALUE LONGVARBINARY NOT NULL,
|
||||
PROCESSED CHAR(1) NOT NULL
|
||||
) ;
|
||||
|
||||
CREATE TABLE TRADE (
|
||||
ID BIGINT IDENTITY NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
ISIN VARCHAR(45) NOT NULL,
|
||||
QUANTITY BIGINT ,
|
||||
PRICE DECIMAL(8,2) ,
|
||||
CUSTOMER VARCHAR(45)
|
||||
) ;
|
||||
|
||||
CREATE TABLE CUSTOMER (
|
||||
ID BIGINT IDENTITY NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (2, 0, 'customer2', 100000);
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (3, 0, 'customer3', 100000);
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (4, 0, 'customer4', 100000);
|
||||
|
||||
CREATE TABLE PLAYERS (
|
||||
PLAYER_ID CHAR(8) NOT NULL PRIMARY KEY,
|
||||
LAST_NAME VARCHAR(35) NOT NULL,
|
||||
FIRST_NAME VARCHAR(25) NOT NULL,
|
||||
POS VARCHAR(10) ,
|
||||
YEAR_OF_BIRTH BIGINT NOT NULL,
|
||||
YEAR_DRAFTED BIGINT NOT NULL
|
||||
) ;
|
||||
|
||||
CREATE TABLE GAMES (
|
||||
PLAYER_ID CHAR(8) NOT NULL,
|
||||
YEAR_NO BIGINT NOT NULL,
|
||||
TEAM CHAR(3) NOT NULL,
|
||||
WEEK BIGINT NOT NULL,
|
||||
OPPONENT CHAR(3) ,
|
||||
COMPLETES BIGINT ,
|
||||
ATTEMPTS BIGINT ,
|
||||
PASSING_YARDS BIGINT ,
|
||||
PASSING_TD BIGINT ,
|
||||
INTERCEPTIONS BIGINT ,
|
||||
RUSHES BIGINT ,
|
||||
RUSH_YARDS BIGINT ,
|
||||
RECEPTIONS BIGINT ,
|
||||
RECEPTIONS_YARDS BIGINT ,
|
||||
TOTAL_TD BIGINT
|
||||
) ;
|
||||
|
||||
CREATE TABLE PLAYER_SUMMARY (
|
||||
ID CHAR(8) NOT NULL,
|
||||
YEAR_NO BIGINT NOT NULL,
|
||||
COMPLETES BIGINT NOT NULL ,
|
||||
ATTEMPTS BIGINT NOT NULL ,
|
||||
PASSING_YARDS BIGINT NOT NULL ,
|
||||
PASSING_TD BIGINT NOT NULL ,
|
||||
INTERCEPTIONS BIGINT NOT NULL ,
|
||||
RUSHES BIGINT NOT NULL ,
|
||||
RUSH_YARDS BIGINT NOT NULL ,
|
||||
RECEPTIONS BIGINT NOT NULL ,
|
||||
RECEPTIONS_YARDS BIGINT NOT NULL ,
|
||||
TOTAL_TD BIGINT NOT NULL
|
||||
) ;
|
||||
|
||||
CREATE TABLE ERROR_LOG (
|
||||
JOB_NAME CHAR(20) ,
|
||||
STEP_NAME CHAR(20) ,
|
||||
MESSAGE VARCHAR(300) NOT NULL
|
||||
) ;
|
||||
@@ -15,7 +15,7 @@ DROP TABLE ERROR_LOG IF EXISTS;
|
||||
CREATE TABLE CUSTOMER_SEQ (
|
||||
ID BIGINT IDENTITY
|
||||
);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (4);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (5);
|
||||
CREATE TABLE BATCH_STAGING_SEQ (
|
||||
ID BIGINT IDENTITY
|
||||
);
|
||||
@@ -45,7 +45,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT IDENTITY NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -13,7 +13,7 @@ DROP TABLE IF EXISTS ERROR_LOG ;
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE TABLE CUSTOMER_SEQ (ID BIGINT NOT NULL) type=MYISAM;
|
||||
INSERT INTO CUSTOMER_SEQ values(4);
|
||||
INSERT INTO CUSTOMER_SEQ values(5);
|
||||
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;
|
||||
@@ -39,7 +39,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) type=InnoDB;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -12,9 +12,9 @@ DROP TABLE ERROR_LOG ;
|
||||
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE SEQUENCE CUSTOMER_SEQ;
|
||||
CREATE SEQUENCE BATCH_STAGING_SEQ;
|
||||
CREATE SEQUENCE TRADE_SEQ;
|
||||
CREATE SEQUENCE CUSTOMER_SEQ START WITH 5;
|
||||
CREATE SEQUENCE BATCH_STAGING_SEQ START WITH 0;
|
||||
CREATE SEQUENCE TRADE_SEQ START WITH 0;
|
||||
|
||||
CREATE TABLE BATCH_STAGING (
|
||||
ID NUMBER(38) NOT NULL PRIMARY KEY ,
|
||||
@@ -36,7 +36,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID NUMBER(38) NOT NULL PRIMARY KEY ,
|
||||
VERSION NUMBER(38) ,
|
||||
NAME VARCHAR2(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -36,7 +36,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -13,7 +13,7 @@ DROP TABLE ERROR_LOG ;
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE TABLE CUSTOMER_SEQ (ID BIGINT IDENTITY);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (4);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (5);
|
||||
CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT IDENTITY);
|
||||
INSERT INTO BATCH_STAGING_SEQ (ID) values (0);
|
||||
CREATE TABLE TRADE_SEQ (ID BIGINT IDENTITY);
|
||||
@@ -39,7 +39,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT ,
|
||||
NAME VARCHAR(45) ,
|
||||
CREDIT DECIMAL(8,2)
|
||||
CREDIT DECIMAL(10,2)
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -13,7 +13,7 @@ DROP TABLE ERROR_LOG ;
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
CREATE TABLE CUSTOMER_SEQ (ID BIGINT IDENTITY);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (4);
|
||||
INSERT INTO CUSTOMER_SEQ (ID) values (5);
|
||||
CREATE TABLE BATCH_STAGING_SEQ (ID BIGINT IDENTITY);
|
||||
INSERT INTO BATCH_STAGING_SEQ (ID) values (0);
|
||||
CREATE TABLE TRADE_SEQ (ID BIGINT IDENTITY);
|
||||
@@ -39,7 +39,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID BIGINT NOT NULL PRIMARY KEY ,
|
||||
VERSION BIGINT NULL,
|
||||
NAME VARCHAR(45) NULL,
|
||||
CREDIT DECIMAL(8,2) NULL
|
||||
CREDIT DECIMAL(10,2) NULL
|
||||
) ;
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
|
||||
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
|
||||
<property name="driverClassName" value="${batch.jdbc.driver}" />
|
||||
<property name="url" value="${batch.jdbc.url}" />
|
||||
<property name="username" value="${batch.jdbc.user}" />
|
||||
@@ -55,8 +55,11 @@
|
||||
<property name="order" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="columnIncrementerParent" class="${batch.database.incrementer.class}" abstract="true">
|
||||
<bean id="sequenceIncrementerParent" class="${batch.database.incrementer.class}" abstract="true">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
</bean>
|
||||
|
||||
<bean id="columnIncrementerParent" class="${batch.database.incrementer.class}" abstract="true" parent="sequenceIncrementerParent">
|
||||
<property name="columnName" value="ID" />
|
||||
</bean>
|
||||
|
||||
|
||||
@@ -28,5 +28,6 @@ log4j.appender.chainsaw.layout=org.apache.log4j.xml.XMLLayout
|
||||
#log4j.logger.org.springframework.orm=debug
|
||||
|
||||
### debug your specific package or classes with the following example
|
||||
log4j.logger.org.springframework.jdbc=debug
|
||||
log4j.logger.org.springframework.batch=debug
|
||||
log4j.logger.org.springframework.batch.sample=debug
|
||||
|
||||
12
spring-batch-samples/src/main/sql/h2.properties
Normal file
12
spring-batch-samples/src/main/sql/h2.properties
Normal file
@@ -0,0 +1,12 @@
|
||||
platform=h2
|
||||
# SQL language oddities
|
||||
BIGINT = BIGINT
|
||||
IDENTITY = IDENTITY
|
||||
IFEXISTS = IF EXISTS
|
||||
DOUBLE = DOUBLE PRECISION
|
||||
DECIMAL = DECIMAL
|
||||
BLOB = LONGVARBINARY
|
||||
TIMESTAMP = TIMESTAMP
|
||||
VARCHAR = VARCHAR
|
||||
# for generating drop statements...
|
||||
SEQUENCE = SEQUENCE
|
||||
2
spring-batch-samples/src/main/sql/h2.vpp
Normal file
2
spring-batch-samples/src/main/sql/h2.vpp
Normal file
@@ -0,0 +1,2 @@
|
||||
#macro (sequence $name $value)CREATE SEQUENCE ${name} START WITH ${value};
|
||||
#end
|
||||
@@ -1,6 +1,6 @@
|
||||
-- Autogenerated: do not edit this file
|
||||
|
||||
#sequence( "CUSTOMER_SEQ" 4 )
|
||||
#sequence( "CUSTOMER_SEQ" 5 )
|
||||
#sequence( "BATCH_STAGING_SEQ" 0 )
|
||||
#sequence( "TRADE_SEQ" 0 )
|
||||
|
||||
@@ -24,7 +24,7 @@ CREATE TABLE CUSTOMER (
|
||||
ID ${BIGINT} $!{IDENTITY} NOT NULL PRIMARY KEY $!{GENERATED},
|
||||
VERSION ${BIGINT} $!{NULL},
|
||||
NAME ${VARCHAR}(45) $!{NULL},
|
||||
CREDIT ${DECIMAL}(8,2) $!{NULL}
|
||||
CREDIT ${DECIMAL}(10,2) $!{NULL}
|
||||
) $!{VOODOO};
|
||||
|
||||
INSERT INTO CUSTOMER (ID, VERSION, NAME, CREDIT) VALUES (1, 0, 'customer1', 100000);
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
#macro (sequence $name $value)CREATE SEQUENCE ${name};
|
||||
#macro (sequence $name $value)CREATE SEQUENCE ${name} START WITH ${value};
|
||||
#end
|
||||
|
||||
Reference in New Issue
Block a user