Author: ppoddar
Date: Thu Feb 14 20:44:48 2008
New Revision: 627943
URL: http://svn.apache.org/viewvc?rev=627943&view=rev
Log:
OPENJPA-515 Maintain thread-transaction affinity for bulk delete/update
operation
Modified:
openjpa/trunk/openjpa-slice/pom.xml
openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedStoreQuery.java
Modified: openjpa/trunk/openjpa-slice/pom.xml
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/pom.xml?rev=627943&r1=627942&r2=627943&view=diff
==============================================================================
--- openjpa/trunk/openjpa-slice/pom.xml (original)
+++ openjpa/trunk/openjpa-slice/pom.xml Thu Feb 14 20:44:48 2008
@@ -155,14 +155,14 @@
<!-- =======================================================
-->
<!-- All tests are excluded currently
-->
<!-- =======================================================
-->
- <configuration>
+ <!-- configuration>
<includes>
<include>**/DummyTest.java</include>
</includes>
<excludes>
<exclude>**/Test*.java</exclude>
</excludes>
- </configuration>
+ </configuration -->
</plugin>
</plugins>
Modified:
openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedStoreQuery.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedStoreQuery.java?rev=627943&r1=627942&r2=627943&view=diff
==============================================================================
---
openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedStoreQuery.java
(original)
+++
openjpa/trunk/openjpa-slice/src/main/java/org/apache/openjpa/slice/jdbc/DistributedStoreQuery.java
Thu Feb 14 20:44:48 2008
@@ -38,7 +38,6 @@
import org.apache.openjpa.lib.rop.RangeResultObjectProvider;
import org.apache.openjpa.lib.rop.ResultObjectProvider;
import org.apache.openjpa.meta.ClassMetaData;
-import org.apache.openjpa.slice.ProductDerivation;
import org.apache.openjpa.util.StoreException;
/**
@@ -88,7 +87,7 @@
((DistributedJDBCConfiguration)getStore().getConfiguration());
return conf.getExecutorServiceInstance();
}
-
+
/**
* Executes queries on multiple databases.
*
@@ -165,6 +164,7 @@
public Number executeDelete(StoreQuery q, Object[] params) {
Iterator<StoreQuery> qs = owner._queries.iterator();
+ owner.getStore().getContext().beginStore();
final List<Future<Number>> futures = new
ArrayList<Future<Number>>();
for (Executor ex:executors) {
DeleteExecutor call = new DeleteExecutor();
@@ -190,6 +190,7 @@
public Number executeUpdate(StoreQuery q, Object[] params) {
Iterator<StoreQuery> qs = owner._queries.iterator();
+ owner.getStore().getContext().beginStore();
final List<Future<Number>> futures = new
ArrayList<Future<Number>>();
for (Executor ex:executors) {
UpdateExecutor call = new UpdateExecutor();