diff --git a/openjpa-persistence-jdbc/pom.xml b/openjpa-persistence-jdbc/pom.xml
index f93a38d32..3b6d27deb 100644
--- a/openjpa-persistence-jdbc/pom.xml
+++ b/openjpa-persistence-jdbc/pom.xml
@@ -39,7 +39,7 @@
2
10000
MaxActive=${dbcp.maxActive},MaxIdle=${dbcp.maxIdle},MinIdle=${dbcp.minIdle},MaxWait=${dbcp.maxWait}
- 60
+ 8
5
ignore
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/DynamicEnhancementSuite.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/DynamicEnhancementSuite.java
index 84a8004d1..e1c912243 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/DynamicEnhancementSuite.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/DynamicEnhancementSuite.java
@@ -66,9 +66,6 @@ import org.apache.openjpa.persistence.kernel.TestProxies2;
import org.apache.openjpa.persistence.kernel.TestSavepoints;
import org.apache.openjpa.persistence.kernel.TestStateManagerImplData;
import org.apache.openjpa.persistence.kernel.TestStoreBlob;
-import org.apache.openjpa.persistence.lockmgr.TestMixedLockManagerLockBasic;
-import org.apache.openjpa.persistence.lockmgr.
- TestMixedLockManagerLockPermutation;
import org.apache.openjpa.persistence.meta.TestMetamodel;
import org.apache.openjpa.persistence.query.TestComplexQueries;
import org.apache.openjpa.persistence.query.TestNamedQueries;
@@ -171,8 +168,6 @@ public class DynamicEnhancementSuite extends TestCase {
suite.addTestSuite(TestQueryResultSize.class);
suite.addTestSuite(TestQueryResultSize.class);
suite.addTestSuite(TestDetachNoCascade.class);
- suite.addTestSuite(TestMixedLockManagerLockBasic.class);
- suite.addTestSuite(TestMixedLockManagerLockPermutation.class);
// end Subclassing failing tests
// org.apache.openjpa.persistence.enhance
diff --git a/openjpa-persistence-locking/pom.xml b/openjpa-persistence-locking/pom.xml
new file mode 100644
index 000000000..bc04a1511
--- /dev/null
+++ b/openjpa-persistence-locking/pom.xml
@@ -0,0 +1,623 @@
+
+
+
+
+ 4.0.0
+ org.apache.openjpa
+ openjpa-persistence-locking
+ jar
+ OpenJPA Persistence Locking
+ OpenJPA Persistence Locking tests
+ http://openjpa.apache.org
+
+ org.apache.openjpa
+ openjpa-parent
+ 2.0.0-SNAPSHOT
+
+
+ 10
+ 5
+ 2
+ 10000
+ MaxActive=${dbcp.maxActive},MaxIdle=${dbcp.maxIdle},MinIdle=${dbcp.minIdle},MaxWait=${dbcp.maxWait}
+ 60
+ 5
+ ignore
+
+
+
+
+
+ test-dynamic-enhancer
+
+ false
+
+
+ false
+ -Dopenjpa.RuntimeUnenhancedClasses=unsupported ${test.jvm.arguments}
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ ${surefire.jvm.args}
+
+ org/apache/openjpa/persistence/enhance/DynamicEnhancementSuite.java
+
+
+
+ openjpa.Log
+ DefaultLevel=${openjpa.loglevel}
+
+
+ openjpa.ConnectionDriverName
+ org.apache.commons.dbcp.BasicDataSource
+
+
+ derby.stream.error.file
+ target/derby.log
+
+
+ openjpa.ConnectionProperties
+ DriverClassName=${connection.driver.name},Url=${connection.url},Username=${connection.username},Password=${connection.password},${dbcp.args}
+
+
+ tests.openjpa.allowfailure
+ ${tests.openjpa.allowfailure}
+
+
+
+
+
+
+
+
+
+ test-derby
+
+ true
+
+ test-derby
+
+
+
+
+ org.apache.derby
+ derby
+ test
+
+
+
+ org.apache.derby.jdbc.EmbeddedDriver
+ jdbc:derby:target/database/openjpa-derby-database;create=true
+
+
+
+
+
+
+
+ test-hsqldb
+
+
+ test-hsqldb
+
+
+
+
+ hsqldb
+ hsqldb
+ ${hsqldb.version}
+ test
+
+
+
+ 1.8.0.7
+ org.hsqldb.jdbcDriver
+ jdbc:hsqldb:target/database/openjpa-hsqldb-database;create=true
+ sa
+
+
+
+
+
+
+ test-mysql
+
+
+ test-mysql
+
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+ test
+
+
+
+ 5.1.6
+ com.mysql.jdbc.Driver
+ ${openjpa.mysql.url}
+ ${openjpa.mysql.username}
+ ${openjpa.mysql.password}
+
+
+
+
+
+ test-postgresql
+
+
+ test-postgresql
+
+
+
+
+ postgresql
+ postgresql
+ ${postgresql.version}
+ test
+
+
+
+ 8.3-603.jdbc3
+ org.postgresql.Driver
+ ${openjpa.postgresql.url}
+ ${openjpa.postgresql.username}
+ ${openjpa.postgresql.password}
+
+
+
+
+
+
+ test-mssql
+
+
+ ${mssql.groupid}
+ ${mssql.artifactid}
+ ${mssql.version}
+ test
+
+
+
+ http://not.real.repository
+ com.microsoft.sqlserver
+ sqljdbc
+ 2.0
+ com.microsoft.sqlserver.jdbc.SQLServerDriver
+ ${openjpa.mssql.url}
+ ${openjpa.mssql.username}
+ ${openjpa.mssql.password}
+
+
+
+ mssql.repository
+ MSSQL Repository
+ ${mssql.maven.repo}
+ default
+
+ false
+
+
+ true
+ ignore
+
+
+
+
+
+
+
+ test-sqlserver
+
+
+ net.sourceforge.jtds
+ jtds
+ 1.2
+ test
+
+
+
+ net.sourceforge.jtds.jdbc.Driver
+ ${openjpa.sqlserver.url}
+ ${openjpa.sqlserver.username}
+ ${openjpa.sqlserver.password}
+
+
+
+
+
+ test-sybase
+
+
+ test-sybase
+
+
+
+
+ net.sourceforge.jtds
+ jtds
+ 1.2
+ test
+
+
+
+ net.sourceforge.jtds.jdbc.Driver
+ ${openjpa.sybase.url}
+ ${openjpa.sybase.username}
+ ${openjpa.sybase.password}
+
+
+
+
+
+
+ test-custom
+
+
+ test-custom
+
+
+
+
+ openjpa.customdriver
+ openjpa.customdriver
+ 1.0
+ system
+ ${openjpa.custom.driverjar}
+
+
+
+ ${openjpa.custom.driverclass}
+ ${openjpa.custom.url}
+ ${openjpa.custom.username}
+ ${openjpa.custom.password}
+
+
+
+
+
+
+
+ test-custom2
+
+
+ test-custom2
+
+
+
+
+ openjpa.customdriver1
+ openjpa.customdriver1
+ 1.0
+ system
+ ${openjpa.custom.driverjar1}
+
+
+ openjpa.customdriver2
+ openjpa.customdriver2
+ 1.0
+ system
+ ${openjpa.custom.driverjar2}
+
+
+
+ ${openjpa.custom.driverclass}
+ ${openjpa.custom.url}
+ ${openjpa.custom.username}
+ ${openjpa.custom.password}
+
+
+
+
+
+
+ test-db2-jcc
+
+
+ ${db2.groupid}
+ ${db2.driver.artifactid}
+ ${db2.version}
+ test
+
+
+ ${db2.groupid}
+ ${db2.license.artifactid}
+ ${db2.version}
+ test
+
+
+
+ http://not.a.real.repository
+ com.ibm.db2
+ jcc-driver
+ jcc-license
+ 9.5
+ com.ibm.db2.jcc.DB2Driver
+ ${openjpa.db2.url}
+ ${openjpa.db2.username}
+ ${openjpa.db2.password}
+
+
+
+ db2.repository
+ DB2 Repository
+ ${db2.maven.repo}
+ default
+
+ false
+
+
+ true
+ ignore
+
+
+
+
+
+
+ test-ids-jcc
+
+
+ ${ids.groupid}
+ ${ids.driver.artifactid}
+ ${ids.version}
+ test
+
+
+ ${ids.groupid}
+ ${ids.license.artifactid}
+ ${ids.version}
+ test
+
+
+
+ http://not.a.real.repository
+ com.ibm.db2
+ jcc-driver
+ jcc-license
+ 9.5
+ com.ibm.db2.jcc.DB2Driver
+ ${openjpa.ids.url}
+ ${openjpa.ids.username}
+ ${openjpa.ids.password}
+
+
+
+ ids.repository
+ Informix Repository
+ ${ids.maven.repo}
+ default
+
+ false
+
+
+ true
+ ignore
+
+
+
+
+
+
+ test-oracle
+
+
+ ${oracle.groupid}
+ ${oracle.artifactid}
+ ${oracle.version}
+ test
+
+
+
+ http://not.a.real.repository
+ com.oracle
+ jdbc-driver
+ 10g
+ oracle.jdbc.driver.OracleDriver
+ ${openjpa.oracle.url}
+ ${openjpa.oracle.username}
+ ${openjpa.oracle.password}
+
+
+
+ oracle.repository
+ Oracle Repository
+ ${oracle.maven.repo}
+ default
+
+ false
+
+
+ true
+ ignore
+
+
+
+
+
+
+
+
+
+ org.apache.openjpa
+ openjpa
+ ${pom.version}
+
+
+ org.apache.openjpa
+ openjpa-persistence-jdbc
+ ${pom.version}
+ tests
+ test
+
+
+ commons-dbcp
+ commons-dbcp
+ test
+
+
+ org.apache.derby
+ derby
+ test
+
+
+ jakarta-regexp
+ jakarta-regexp
+ test
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ test-compile
+
+
+
+
+
+
+
+
+
+
+
+
+
+ run
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ ${surefire.jvm.args}
+
+
+ org/apache/openjpa/**/*Test.java
+
+
+
+ openjpa.Log
+ DefaultLevel=${openjpa.loglevel}
+
+
+ openjpa.DynamicEnhancementAgent
+ false
+
+
+ openjpa.ConnectionDriverName
+ org.apache.commons.dbcp.BasicDataSource
+
+
+ derby.stream.error.file
+ target/derby.log
+
+
+ derby.locks.deadlockTimeout
+ ${derby.locks.deadlockTimeout}
+
+
+
+ derby.locks.waitTimeout
+ ${derby.locks.waitTimeout}
+
+
+ openjpa.ConnectionProperties
+ DriverClassName=${connection.driver.name},Url=${connection.url},Username=${connection.username},Password=${connection.password},${dbcp.args}
+
+
+ tests.openjpa.allowfailure
+ ${tests.openjpa.allowfailure}
+
+
+
+
+
+
+
diff --git a/openjpa-persistence-locking/src/test/ant/enhancer.xml b/openjpa-persistence-locking/src/test/ant/enhancer.xml
new file mode 100644
index 000000000..556093b56
--- /dev/null
+++ b/openjpa-persistence-locking/src/test/ant/enhancer.xml
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ running enhancer
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployeeNonVersion.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployeeNonVersion.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployeeNonVersion.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployeeNonVersion.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/MixedLockManagerGenericTest.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/MixedLockManagerGenericTest.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/MixedLockManagerGenericTest.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/MixedLockManagerGenericTest.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/SequencedActionsTest.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/SequencedActionsTest.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/SequencedActionsTest.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/SequencedActionsTest.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockMode.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockMode.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockMode.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockMode.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockTimeout.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockTimeout.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockTimeout.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestEmLockTimeout.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestFetchHints.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestFetchHints.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestFetchHints.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestFetchHints.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindBasic.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindBasic.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindBasic.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindBasic.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindException.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindException.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindException.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindException.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindPermutation.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindPermutation.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindPermutation.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerFindPermutation.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockBasic.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockBasic.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockBasic.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockBasic.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockException.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockException.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockException.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockException.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockPermutation.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockPermutation.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockPermutation.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerLockPermutation.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerNonVersion.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerNonVersion.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerNonVersion.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerNonVersion.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshBasic.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshBasic.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshBasic.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshBasic.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshException.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshException.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshException.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshException.java
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshPermutation.java b/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshPermutation.java
similarity index 100%
rename from openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshPermutation.java
rename to openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestMixedLockManagerRefreshPermutation.java
diff --git a/openjpa-persistence-locking/src/test/resources/META-INF/persistence.xml b/openjpa-persistence-locking/src/test/resources/META-INF/persistence.xml
new file mode 100644
index 000000000..6cf99a7d3
--- /dev/null
+++ b/openjpa-persistence-locking/src/test/resources/META-INF/persistence.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
index b2816ab97..e3fc88fc7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -99,6 +99,7 @@
openjpa-jdbc
openjpa-persistence
openjpa-persistence-jdbc
+ openjpa-persistence-locking
openjpa-xmlstore
openjpa-slice
openjpa