[maven-release-plugin] copy for tag org.apache.aries.jpa-2.2.0
git-svn-id: http://svn.apache.org/repos/asf/aries/tags/org.apache.aries.jpa-2.2.0@1704790 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java b/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
index 28723a4..3a5b875 100644
--- a/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
+++ b/itests/jpa-container-itest-karaf/src/test/java/org/apache/aries/jpa/itest/karaf/AbstractJPAItest.java
@@ -150,7 +150,7 @@
when(localRepo != null).useOptions(vmOption("-Dorg.ops4j.pax.url.mvn.localRepository=" + localRepo)),
features(paxJdbcFeatureUrl, "pax-jdbc-config", "pax-jdbc-h2", "pax-jdbc-pool-dbcp2"),
features(enterpriseFeatureUrl, "transaction", "http-whiteboard", "hibernate/4.3.6.Final", "scr"),
- features(jpaFeatureUrl, "jpa/2.2.0-SNAPSHOT"),
+ features(jpaFeatureUrl, "jpa"),
mavenBundle("org.apache.aries.jpa.example", "org.apache.aries.jpa.example.tasklist.model").versionAsInProject()
// replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", getConfigFile("/etc/org.ops4j.pax.logging.cfg")),
);
diff --git a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/AbstractJpaTemplate.java b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/AbstractJpaTemplate.java
index e96a19b..d0b2289 100644
--- a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/AbstractJpaTemplate.java
+++ b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/AbstractJpaTemplate.java
@@ -47,4 +47,11 @@
tx(TransactionType.Required, code);
}
+
+ protected RuntimeException wrapThrowable(Throwable ex, String message) {
+ if (ex instanceof RuntimeException) {
+ return (RuntimeException) ex;
+ }
+ return new RuntimeException(message, ex);
+ }
}
diff --git a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/ResourceLocalJpaTemplate.java b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/ResourceLocalJpaTemplate.java
index 2eb0ed1..2f68ee3 100644
--- a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/ResourceLocalJpaTemplate.java
+++ b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/ResourceLocalJpaTemplate.java
@@ -25,8 +25,11 @@
import org.apache.aries.jpa.template.TransactionType;
import org.osgi.service.coordinator.Coordination;
import org.osgi.service.coordinator.Coordinator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ResourceLocalJpaTemplate extends AbstractJpaTemplate {
+ private static final Logger LOGGER = LoggerFactory.getLogger(ResourceLocalJpaTemplate.class);
private EmSupplier emSupplier;
private Coordinator coordinator;
@@ -59,7 +62,7 @@
if (weControlTx) {
safeRollback(em, e);
}
- throw new RuntimeException(e);
+ throw wrapThrowable(e, "Exception occured in transactional code");
} finally {
coord.end();
}
@@ -70,6 +73,7 @@
try {
em.getTransaction().rollback();
} catch (Exception e1) {
+ LOGGER.warn("Exception during transaction rollback", e1);
}
}
}
diff --git a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/XAJpaTemplate.java b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/XAJpaTemplate.java
index c89c251..3b478e6 100644
--- a/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/XAJpaTemplate.java
+++ b/jpa-support/src/main/java/org/apache/aries/jpa/support/impl/XAJpaTemplate.java
@@ -62,15 +62,19 @@
return result;
} catch (Throwable ex) {
safeRollback(tranToken, ex);
- throw new RuntimeException(ex);
+ if (ex instanceof Error) {
+ throw (Error)ex;
+ }
+ throw wrapThrowable(ex, "Exception occured in transactional code");
} finally {
try {
ta.finish(tm, tranToken);
- coord.end();
} catch (Exception e) {
// We are throwing an exception, so we don't error it out
- LOGGER.debug("exception.during.tx.finish", e);
- throw new RuntimeException("Exception during finish of transaction", e);
+ LOGGER.debug("Exception during finish of transaction", e);
+ throw wrapThrowable(e, "Exception during finish of transaction");
+ } finally {
+ coord.end();
}
}
}
@@ -88,7 +92,7 @@
} catch (Exception e) {
// we do not throw the exception since there already is one, but we
// need to log it
- LOGGER.warn("exception.during.tx.cleanup", e);
+ LOGGER.warn("Exception during transaction rollback", e);
}
}