diff --git a/org.springframework.integration.jdbc/pom.xml b/org.springframework.integration.jdbc/pom.xml
index b37145ea65..7b7b9770e8 100644
--- a/org.springframework.integration.jdbc/pom.xml
+++ b/org.springframework.integration.jdbc/pom.xml
@@ -45,17 +45,17 @@
true
- org.apache.derby
- derby
- 10.5.3.0_1
- test
-
+ org.apache.derby
+ derby
+ 10.5.3.0_1
+ test
+
- hsqldb
- hsqldb
- 1.8.0.7
- test
-
+ hsqldb
+ hsqldb
+ 1.8.0.7
+ test
+
org.springframework.integration
spring-integration-core
@@ -72,7 +72,7 @@
spring-aop
${spring.version}
-
+
org.springframework
spring-context
${spring.version}
@@ -106,4 +106,153 @@
test
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ generate-sql
+ generate-sources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-db2.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-db2.sql
new file mode 100644
index 0000000000..1624a139e3
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-db2.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES BLOB
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES BLOB,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-derby.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-derby.sql
index e8bf2a6cdb..1624a139e3 100644
--- a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-derby.sql
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-derby.sql
@@ -1,19 +1,19 @@
-CREATE TABLE INT_MESSAGE (
- MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
- REGION VARCHAR(100),
- CREATED_DATE TIMESTAMP NOT NULL,
- MESSAGE_BYTES BLOB
-);
-
-CREATE TABLE INT_MESSAGE_GROUP (
- MESSAGE_ID VARCHAR(100) NOT NULL,
- CORRELATION_KEY VARCHAR(100) NOT NULL,
- REGION VARCHAR(100),
- MARKED INTEGER,
- CREATED_DATE TIMESTAMP NOT NULL,
- UPDATED_DATE TIMESTAMP,
- MESSAGE_BYTES BLOB,
- constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
-);
-
-
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES BLOB
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES BLOB,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-db2.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-db2.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-db2.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-derby.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-derby.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-derby.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-h2.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-h2.sql
new file mode 100644
index 0000000000..35ff5cb399
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-h2.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE IF EXISTS;
+DROP TABLE INT_MESSAGE_GROUP IF EXISTS;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-hsqldb.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-hsqldb.sql
new file mode 100644
index 0000000000..35ff5cb399
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-hsqldb.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE IF EXISTS;
+DROP TABLE INT_MESSAGE_GROUP IF EXISTS;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-mysql.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-mysql.sql
new file mode 100644
index 0000000000..33904f1159
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-mysql.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE IF EXISTS INT_MESSAGE ;
+DROP TABLE IF EXISTS INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-oracle10g.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-oracle10g.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-oracle10g.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-postgresql.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-postgresql.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-postgresql.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sqlserver.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sqlserver.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sqlserver.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sybase.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sybase.sql
new file mode 100644
index 0000000000..45929cec1a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-drop-sybase.sql
@@ -0,0 +1,4 @@
+-- Autogenerated: do not edit this file
+
+DROP TABLE INT_MESSAGE ;
+DROP TABLE INT_MESSAGE_GROUP ;
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-h2.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-h2.sql
new file mode 100644
index 0000000000..996df68083
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-h2.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES LONGVARBINARY
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES LONGVARBINARY,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-hsqldb.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-hsqldb.sql
new file mode 100644
index 0000000000..996df68083
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-hsqldb.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES LONGVARBINARY
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES LONGVARBINARY,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-mysql.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-mysql.sql
new file mode 100644
index 0000000000..995cfb2ac4
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-mysql.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE DATETIME NOT NULL,
+ MESSAGE_BYTES BLOB
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE DATETIME NOT NULL,
+ UPDATED_DATE DATETIME,
+ MESSAGE_BYTES BLOB,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-oracle10g.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-oracle10g.sql
new file mode 100644
index 0000000000..47ef6de35a
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-oracle10g.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR2(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR2(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES BLOB
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR2(100) NOT NULL,
+ CORRELATION_KEY VARCHAR2(100) NOT NULL,
+ REGION VARCHAR2(100),
+ MARKED NUMBER(19,0),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES BLOB,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-postgresql.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-postgresql.sql
new file mode 100644
index 0000000000..e8013dfe46
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-postgresql.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE TIMESTAMP NOT NULL,
+ MESSAGE_BYTES BYTEA
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE TIMESTAMP NOT NULL,
+ UPDATED_DATE TIMESTAMP,
+ MESSAGE_BYTES BYTEA,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sqlserver.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sqlserver.sql
new file mode 100644
index 0000000000..7c8196be7e
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sqlserver.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE DATETIME NOT NULL,
+ MESSAGE_BYTES IMAGE
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE DATETIME NOT NULL,
+ UPDATED_DATE DATETIME,
+ MESSAGE_BYTES IMAGE,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sybase.sql b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sybase.sql
new file mode 100644
index 0000000000..7c8196be7e
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/resources/org/springframework/integration/jdbc/schema-sybase.sql
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID VARCHAR(100) NOT NULL PRIMARY KEY,
+ REGION VARCHAR(100),
+ CREATED_DATE DATETIME NOT NULL,
+ MESSAGE_BYTES IMAGE
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID VARCHAR(100) NOT NULL,
+ CORRELATION_KEY VARCHAR(100) NOT NULL,
+ REGION VARCHAR(100),
+ MARKED BIGINT,
+ CREATED_DATE DATETIME NOT NULL,
+ UPDATED_DATE DATETIME,
+ MESSAGE_BYTES IMAGE,
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/sql/db2.properties b/org.springframework.integration.jdbc/src/main/sql/db2.properties
new file mode 100644
index 0000000000..4e659c3016
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/db2.properties
@@ -0,0 +1,11 @@
+platform=db2
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+DOUBLE = DOUBLE PRECISION
+BLOB = BLOB
+CLOB = CLOB
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = SEQUENCE
diff --git a/org.springframework.integration.jdbc/src/main/sql/db2.vpp b/org.springframework.integration.jdbc/src/main/sql/db2.vpp
new file mode 100644
index 0000000000..a7e92c086c
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/db2.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE SEQUENCE ${name} AS BIGINT MAXVALUE 9223372036854775807 NO CYCLE;
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} SET NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/derby.properties b/org.springframework.integration.jdbc/src/main/sql/derby.properties
new file mode 100644
index 0000000000..714a1d1729
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/derby.properties
@@ -0,0 +1,12 @@
+platform=db2
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+GENERATED = GENERATED BY DEFAULT AS IDENTITY
+DOUBLE = DOUBLE PRECISION
+BLOB = BLOB
+CLOB = CLOB
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/org.springframework.integration.jdbc/src/main/sql/derby.vpp b/org.springframework.integration.jdbc/src/main/sql/derby.vpp
new file mode 100644
index 0000000000..8e346ba00e
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/derby.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, DUMMY VARCHAR(1));
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/destroy.sql.vpp b/org.springframework.integration.jdbc/src/main/sql/destroy.sql.vpp
new file mode 100644
index 0000000000..e23e8bc539
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/destroy.sql.vpp
@@ -0,0 +1,2 @@
+DROP TABLE $!{IFEXISTSBEFORE} INT_MESSAGE $!{IFEXISTS};
+DROP TABLE $!{IFEXISTSBEFORE} INT_MESSAGE_GROUP $!{IFEXISTS};
diff --git a/org.springframework.integration.jdbc/src/main/sql/h2.properties b/org.springframework.integration.jdbc/src/main/sql/h2.properties
new file mode 100644
index 0000000000..76afa046fa
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/h2.properties
@@ -0,0 +1,12 @@
+platform=h2
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY = IDENTITY
+IFEXISTS = IF EXISTS
+DOUBLE = DOUBLE PRECISION
+BLOB = LONGVARBINARY
+CLOB = LONGVARCHAR
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = SEQUENCE
diff --git a/org.springframework.integration.jdbc/src/main/sql/h2.vpp b/org.springframework.integration.jdbc/src/main/sql/h2.vpp
new file mode 100644
index 0000000000..2251812216
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/h2.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE SEQUENCE ${name};
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/hsqldb.properties b/org.springframework.integration.jdbc/src/main/sql/hsqldb.properties
new file mode 100644
index 0000000000..8cf391d9ea
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/hsqldb.properties
@@ -0,0 +1,12 @@
+platform=hsqldb
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY = IDENTITY
+IFEXISTS = IF EXISTS
+DOUBLE = DOUBLE PRECISION
+BLOB = LONGVARBINARY
+CLOB = LONGVARCHAR
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/org.springframework.integration.jdbc/src/main/sql/hsqldb.vpp b/org.springframework.integration.jdbc/src/main/sql/hsqldb.vpp
new file mode 100644
index 0000000000..e01d755d22
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/hsqldb.vpp
@@ -0,0 +1,5 @@
+#macro (sequence $name $value)CREATE TABLE ${name} (
+ ID BIGINT IDENTITY
+);
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/mysql.properties b/org.springframework.integration.jdbc/src/main/sql/mysql.properties
new file mode 100644
index 0000000000..470ca6bc1d
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/mysql.properties
@@ -0,0 +1,14 @@
+platform=oracle10g
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+GENERATED =
+VOODOO = ENGINE=InnoDB
+IFEXISTSBEFORE = IF EXISTS
+DOUBLE = DOUBLE PRECISION
+BLOB = BLOB
+CLOB = TEXT
+TIMESTAMP = DATETIME
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/org.springframework.integration.jdbc/src/main/sql/mysql.vpp b/org.springframework.integration.jdbc/src/main/sql/mysql.vpp
new file mode 100644
index 0000000000..fd65fad6e3
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/mysql.vpp
@@ -0,0 +1,4 @@
+#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT NOT NULL) ENGINE=MYISAM;
+INSERT INTO ${name} values(0);
+#end
+#macro (notnull $name $type)MODIFY COLUMN ${name} ${type} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/oracle10g.properties b/org.springframework.integration.jdbc/src/main/sql/oracle10g.properties
new file mode 100644
index 0000000000..64ffa268e4
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/oracle10g.properties
@@ -0,0 +1,12 @@
+platform=oracle10g
+# SQL language oddities
+BIGINT = NUMBER(19\,0)
+IDENTITY =
+GENERATED =
+DOUBLE = NUMBER
+BLOB = BLOB
+CLOB = CLOB
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR2
+# for generating drop statements...
+SEQUENCE = SEQUENCE
diff --git a/org.springframework.integration.jdbc/src/main/sql/oracle10g.vpp b/org.springframework.integration.jdbc/src/main/sql/oracle10g.vpp
new file mode 100644
index 0000000000..610c1f8218
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/oracle10g.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE SEQUENCE ${name} START WITH ${value} MINVALUE 0 MAXVALUE 9223372036854775807 NOCYCLE;
+#end
+#macro (notnull $name $type)MODIFY ${name} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/postgresql.properties b/org.springframework.integration.jdbc/src/main/sql/postgresql.properties
new file mode 100644
index 0000000000..8d51883a71
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/postgresql.properties
@@ -0,0 +1,12 @@
+platform=postgresql
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+GENERATED =
+DOUBLE = DOUBLE PRECISION
+BLOB = BYTEA
+CLOB = TEXT
+TIMESTAMP = TIMESTAMP
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = SEQUENCE
diff --git a/org.springframework.integration.jdbc/src/main/sql/postgresql.vpp b/org.springframework.integration.jdbc/src/main/sql/postgresql.vpp
new file mode 100644
index 0000000000..59986a65ae
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/postgresql.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE SEQUENCE ${name} MAXVALUE 9223372036854775807 NO CYCLE;
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} SET NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/schema-drop.sql.vpp b/org.springframework.integration.jdbc/src/main/sql/schema-drop.sql.vpp
new file mode 100644
index 0000000000..7b2a6cf931
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/schema-drop.sql.vpp
@@ -0,0 +1,3 @@
+-- Autogenerated: do not edit this file
+
+#parse("${includes}/destroy.sql.vpp")
diff --git a/org.springframework.integration.jdbc/src/main/sql/schema.sql.vpp b/org.springframework.integration.jdbc/src/main/sql/schema.sql.vpp
new file mode 100644
index 0000000000..541c637f4f
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/schema.sql.vpp
@@ -0,0 +1,19 @@
+-- Autogenerated: do not edit this file
+
+CREATE TABLE INT_MESSAGE (
+ MESSAGE_ID ${VARCHAR}(100) NOT NULL PRIMARY KEY,
+ REGION ${VARCHAR}(100),
+ CREATED_DATE ${TIMESTAMP} NOT NULL,
+ MESSAGE_BYTES ${BLOB}
+);
+
+CREATE TABLE INT_MESSAGE_GROUP (
+ MESSAGE_ID ${VARCHAR}(100) NOT NULL,
+ CORRELATION_KEY ${VARCHAR}(100) NOT NULL,
+ REGION ${VARCHAR}(100),
+ MARKED ${BIGINT},
+ CREATED_DATE ${TIMESTAMP} NOT NULL,
+ UPDATED_DATE ${TIMESTAMP},
+ MESSAGE_BYTES ${BLOB},
+ constraint MESSAGE_GROUP_PK primary key (MESSAGE_ID, CORRELATION_KEY)
+);
diff --git a/org.springframework.integration.jdbc/src/main/sql/sqlserver.properties b/org.springframework.integration.jdbc/src/main/sql/sqlserver.properties
new file mode 100644
index 0000000000..60b6aa24e2
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/sqlserver.properties
@@ -0,0 +1,11 @@
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+GENERATED =
+DOUBLE = DOUBLE PRECISION
+BLOB = IMAGE
+CLOB = TEXT
+TIMESTAMP = DATETIME
+VARCHAR = VARCHAR
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/org.springframework.integration.jdbc/src/main/sql/sqlserver.vpp b/org.springframework.integration.jdbc/src/main/sql/sqlserver.vpp
new file mode 100644
index 0000000000..da0ca72919
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/sqlserver.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT IDENTITY);
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end
diff --git a/org.springframework.integration.jdbc/src/main/sql/sybase.properties b/org.springframework.integration.jdbc/src/main/sql/sybase.properties
new file mode 100644
index 0000000000..78adc66a1c
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/sybase.properties
@@ -0,0 +1,12 @@
+# SQL language oddities
+BIGINT = BIGINT
+IDENTITY =
+GENERATED =
+DOUBLE = DOUBLE PRECISION
+BLOB = IMAGE
+CLOB = TEXT
+TIMESTAMP = DATETIME
+VARCHAR = VARCHAR
+NULL = NULL
+# for generating drop statements...
+SEQUENCE = TABLE
diff --git a/org.springframework.integration.jdbc/src/main/sql/sybase.vpp b/org.springframework.integration.jdbc/src/main/sql/sybase.vpp
new file mode 100644
index 0000000000..da0ca72919
--- /dev/null
+++ b/org.springframework.integration.jdbc/src/main/sql/sybase.vpp
@@ -0,0 +1,3 @@
+#macro (sequence $name $value)CREATE TABLE ${name} (ID BIGINT IDENTITY);
+#end
+#macro (notnull $name $type)ALTER COLUMN ${name} ${type} NOT NULL#end
diff --git a/spring-integration-parent/pom.xml b/spring-integration-parent/pom.xml
index 2644eca0bd..5b44a5fad7 100644
--- a/spring-integration-parent/pom.xml
+++ b/spring-integration-parent/pom.xml
@@ -1,234 +1,255 @@
-
- 4.0.0
- org.springframework.integration
- spring-integration-parent
- 2.0.0.BUILD-SNAPSHOT
- Spring Integration Parent
- http://www.springsource.org/spring-integration
- Spring Integration parent project. Defines dependencies and common configuration for
+
+ 4.0.0
+ org.springframework.integration
+ spring-integration-parent
+ 2.0.0.BUILD-SNAPSHOT
+ Spring Integration Parent
+ http://www.springsource.org/spring-integration
+ Spring Integration parent project. Defines dependencies and common configuration for
the build process.
- pom
-
- 3.4.2.v_883_R34x
- 4.7
- 3.0.2.RELEASE
- true
-
-
-
- strict
-
- false
-
-
-
- fast
-
- true
- true
-
-
-
- staging
-
-
- staging
- file:///${user.dir}/target/staging
-
-
- staging
- file:///${user.dir}/target/staging
-
-
- staging
- file:///${user.dir}/target/staging
-
-
-
-
- release
-
-
-
- maven-source-plugin
-
-
- attach-sources
-
- jar
-
-
-
-
-
-
-
-
-
-
- staging
- file:///${user.dir}/target/staging
-
-
- spring-milestone
- Spring Milestone Repository
- s3://maven.springframework.org/milestone
-
-
- spring-snapshot
- Spring Snapshot Repository
- s3://maven.springframework.org/snapshot
-
-
-
-
-
- org.springframework.build.aws
- org.springframework.build.aws.maven
- 2.0.0.RELEASE
-
-
-
-
- ${project.basedir}/src/main/java
+ pom
+
+ 3.4.2.v_883_R34x
+ 4.7
+ 3.0.2.RELEASE
+ true
+
+
+
+ strict
+
+ false
+
+
+
+ fast
+
+ true
+ true
+
+
+
+ staging
+
+
+ staging
+ file:///${user.dir}/target/staging
+
+
+ staging
+ file:///${user.dir}/target/staging
+
+
+ staging
+ file:///${user.dir}/target/staging
+
+
+
+
+ release
+
+
+
+ maven-source-plugin
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+
+
+
+
+
+ staging
+ file:///${user.dir}/target/staging
+
+
+ spring-milestone
+ Spring Milestone Repository
+ s3://maven.springframework.org/milestone
+
+
+ spring-snapshot
+ Spring Snapshot Repository
+ s3://maven.springframework.org/snapshot
+
+
+
+
+
+ org.springframework.build.aws
+ org.springframework.build.aws.maven
+ 2.0.0.RELEASE
+
+
+
+
+ ${project.basedir}/src/main/java
-
- **/*
-
-
- **/*.java
-
-
-
- ${project.basedir}/src/main/resources
+
+ **/*
+
+
+ **/*.java
+
+
+
+ ${project.basedir}/src/main/resources
-
- **/*
-
-
-
-
-
- src/test/java
-
- **/*
-
-
- **/*.java
-
-
-
- src/main/java
-
- **/*
-
-
- **/*.java
-
-
-
-
+
+ **/*
+
+
+
+
+
+ src/test/java
+
+ **/*
+
+
+ **/*.java
+
+
+
+ src/main/java
+
+ **/*
+
+
+ **/*.java
+
+
+
+
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.5
- 1.5
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
- false
-
- **/*Tests.java
-
-
- **/Abstract*.java
- **/PropertyPlaceholderTests.java
-
- junit:junit
-
-
-
-
-
-
- glassfish
- Glassfish Repository
- http://download.java.net/maven/glassfish
-
- false
-
-
-
- jboss
- JBoss Repository
- http://repository.jboss.org/maven2
-
- true
-
-
- false
-
-
-
- com.springsource.repository.bundles.release
- SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases
- http://repository.springsource.com/maven/bundles/release
-
-
- com.springsource.repository.bundles.external
- SpringSource Enterprise Bundle Repository - External Bundle Releases
- http://repository.springsource.com/maven/bundles/external
-
-
-
-
- com.springsource.repository.bundles.milestone
- SpringSource Enterprise Bundle Repository - SpringSource Bundle Milestones
- http://repository.springsource.com/maven/bundles/milestone
-
- false
-
-
-
- com.springsource.repository.bundles.snapshot
- SpringSource Enterprise Bundle Repository - SpringSource Bundle Snapshots
- http://repository.springsource.com/maven/bundles/snapshot
-
-
- agilejava
- http://agilejava.com/maven
-
- false
-
-
-
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.5
+ 1.5
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ false
+
+ **/*Tests.java
+
+
+ **/Abstract*.java
+ **/PropertyPlaceholderTests.java
+
+ junit:junit
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ org.apache.ant
+ ant
+ 1.7.0
+
+
+ org.apache.ant
+ ant-trax
+ 1.7.0
+
+
+ org.apache.ant
+ ant-apache-regexp
+ 1.7.0
+
+
+ foundrylogic.vpp
+ vpp
+ 2.2.1
+
+
+
+
+
+
+
+
+ glassfish
+ Glassfish Repository
+ http://download.java.net/maven/glassfish
+
+ false
+
+
+
+ jboss
+ JBoss Repository
+ http://repository.jboss.org/maven2
+
+ true
+
+
+ false
+
+
+
+ com.springsource.repository.bundles.release
+ SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases
+ http://repository.springsource.com/maven/bundles/release
+
+
+ com.springsource.repository.bundles.external
+ SpringSource Enterprise Bundle Repository - External Bundle Releases
+ http://repository.springsource.com/maven/bundles/external
+
+
+
+
+ com.springsource.repository.bundles.milestone
+ SpringSource Enterprise Bundle Repository - SpringSource Bundle Milestones
+ http://repository.springsource.com/maven/bundles/milestone
+
+ false
+
+
+
+ com.springsource.repository.bundles.snapshot
+ SpringSource Enterprise Bundle Repository - SpringSource Bundle Snapshots
+ http://repository.springsource.com/maven/bundles/snapshot
+
+
+ agilejava
+ http://agilejava.com/maven
+
+ false
+
+
+