[BATCH-503] Fix TX definition in samples. Also add multi-environment support in samples (mysql and derby as examples)
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -1,23 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:util="http://www.springframework.org/schema/util"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
|
||||
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
|
||||
|
||||
<!-- Initialise the database before every test case: -->
|
||||
<import resource="data-source-context-init.xml" />
|
||||
|
||||
<bean id="dataSource"
|
||||
class="org.apache.commons.dbcp.BasicDataSource">
|
||||
<import resource="data-source-context-init.xml" />
|
||||
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
|
||||
<property name="driverClassName" value="${batch.jdbc.driver}" />
|
||||
<property name="url" value="${batch.jdbc.url}" />
|
||||
<property name="username" value="${batch.jdbc.user}" />
|
||||
<property name="password" value="${batch.jdbc.password}" />
|
||||
</bean>
|
||||
|
||||
<bean id="sessionFactory"
|
||||
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
|
||||
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="mappingLocations" value="classpath*:/*.hbm.xml" />
|
||||
<property name="hibernateProperties">
|
||||
@@ -29,44 +24,53 @@
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="transactionManager"
|
||||
class="org.springframework.orm.hibernate3.HibernateTransactionManager"
|
||||
lazy-init="true">
|
||||
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" lazy-init="true">
|
||||
<property name="sessionFactory" ref="sessionFactory" />
|
||||
</bean>
|
||||
<!-- Set up or detect a System property called "environment" used to construct a properties file on the classpath. The default is "hsql". -->
|
||||
<bean id="environment" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
|
||||
<property name="targetClass" value="java.lang.System" />
|
||||
<property name="targetMethod" value="setProperty" />
|
||||
<property name="arguments">
|
||||
<list>
|
||||
<value>environment</value>
|
||||
<bean class="java.lang.System" factory-method="getProperty">
|
||||
<constructor-arg>
|
||||
<value>environment</value>
|
||||
</constructor-arg>
|
||||
<!-- The default value of the environment property -->
|
||||
<constructor-arg>
|
||||
<value>hsql</value>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Use this to set additional properties on beans at run time -->
|
||||
<bean id="batchProperties"
|
||||
class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
|
||||
<property name="location" value="classpath:batch.properties" />
|
||||
<bean id="overrideProperties" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer"
|
||||
depends-on="environment">
|
||||
<property name="location" value="classpath:batch-${environment}.properties" />
|
||||
<!-- Allow system properties (-D) to override those from file -->
|
||||
<property name="localOverride" value="true" />
|
||||
<property name="properties">
|
||||
<bean class="java.lang.System"
|
||||
factory-method="getProperties" />
|
||||
<bean class="java.lang.System" factory-method="getProperties" />
|
||||
</property>
|
||||
<property name="ignoreInvalidKeys" value="true" />
|
||||
<property name="order" value="2" />
|
||||
</bean>
|
||||
|
||||
<bean id="overrideProperties"
|
||||
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="location" value="classpath:batch.properties" />
|
||||
<property name="systemPropertiesModeName"
|
||||
value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
|
||||
<bean id="placeholderProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
|
||||
depends-on="environment">
|
||||
<property name="location" value="classpath:batch-${environment}.properties" />
|
||||
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
|
||||
<property name="ignoreUnresolvablePlaceholders" value="true" />
|
||||
<property name="order" value="1" />
|
||||
</bean>
|
||||
|
||||
<bean id="lobHandler" class="${batch.lob.handler.class}"/>
|
||||
|
||||
<bean id="incrementerParent"
|
||||
class="${batch.database.incrementer.class}">
|
||||
<bean id="lobHandler" class="${batch.lob.handler.class}" />
|
||||
<bean id="incrementerParent" class="${batch.database.incrementer.class}">
|
||||
<property name="dataSource" ref="dataSource" />
|
||||
<property name="incrementerName" value="ID" />
|
||||
</bean>
|
||||
|
||||
<!--import resource="alt-data-source-context.xml" /-->
|
||||
|
||||
</beans>
|
||||
@@ -21,19 +21,19 @@
|
||||
<bean id="jobRegistry" class="org.springframework.batch.core.configuration.support.MapJobRegistry" />
|
||||
|
||||
<aop:config>
|
||||
<aop:advisor pointcut="execution(* org.springframework.batch.execution..*Repository+.*(..))"
|
||||
<aop:advisor pointcut="execution(* org.springframework.batch.core..*Repository+.*(..))"
|
||||
advice-ref="txAdvice" />
|
||||
</aop:config>
|
||||
|
||||
<tx:advice id="txAdvice" transaction-manager="transactionManager">
|
||||
<tx:attributes>
|
||||
<tx:method name="*Create*" propagation="REQUIRES_NEW" isolation="SERIALIZABLE" />
|
||||
<tx:method name="create*" propagation="REQUIRES_NEW" isolation="SERIALIZABLE" />
|
||||
<tx:method name="*" />
|
||||
</tx:attributes>
|
||||
</tx:advice>
|
||||
|
||||
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean"
|
||||
p:databaseType="hsql" p:dataSource-ref="dataSource" />
|
||||
p:databaseType="${environment}" p:dataSource-ref="dataSource" />
|
||||
|
||||
<bean id="mapJobInstanceDao" lazy-init="true"
|
||||
class="org.springframework.batch.core.repository.dao.MapJobInstanceDao" />
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user