You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by an...@apache.org on 2015/12/03 10:06:06 UTC
tomee git commit: Check for initialized registry
Repository: tomee
Updated Branches:
refs/heads/tomee-1.7.x e6a68cc48 -> 388c1736a
Check for initialized registry
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/388c1736
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/388c1736
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/388c1736
Branch: refs/heads/tomee-1.7.x
Commit: 388c1736a7feefd1a95af58cddbad7ad6ddb28ec
Parents: e6a68cc
Author: AndyGee <an...@gmx.de>
Authored: Thu Dec 3 10:05:59 2015 +0100
Committer: AndyGee <an...@gmx.de>
Committed: Thu Dec 3 10:05:59 2015 +0100
----------------------------------------------------------------------
.../core/transaction/JtaTransactionPolicy.java | 56 ++++++++++++--------
1 file changed, 35 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/388c1736/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicy.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicy.java b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicy.java
index 5b75203..cc50caa 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicy.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicy.java
@@ -125,7 +125,7 @@ public abstract class JtaTransactionPolicy implements TransactionPolicy {
if (null != sr) {
return sr.getResource(key);
- }else{
+ } else {
logger.warning("TransactionSynchronizationRegistry has not been initialized");
}
}
@@ -155,11 +155,17 @@ public abstract class JtaTransactionPolicy implements TransactionPolicy {
@Override
public Object removeResource(final Object key) {
+
if (isTransactionActive()) {
+
final TransactionSynchronizationRegistry sr = this.getSynchronizationRegistry();
- final Object value = sr.getResource(key);
- sr.putResource(key, null);
- return value;
+ if (null != sr) {
+ final Object value = sr.getResource(key);
+ sr.putResource(key, null);
+ return value;
+ } else {
+ logger.warning("TransactionSynchronizationRegistry has not been initialized");
+ }
}
if (resources == null) {
@@ -170,27 +176,35 @@ public abstract class JtaTransactionPolicy implements TransactionPolicy {
@Override
public void registerSynchronization(final TransactionSynchronization synchronization) {
+
if (isTransactionActive()) {
- this.getSynchronizationRegistry().registerInterposedSynchronization(new Synchronization() {
- @Override
- public void beforeCompletion() {
- synchronization.beforeCompletion();
- }
- @Override
- public void afterCompletion(final int s) {
- final TransactionSynchronization.Status status;
- if (s == Status.STATUS_COMMITTED) {
- status = TransactionSynchronization.Status.COMMITTED;
- } else if (s == Status.STATUS_ROLLEDBACK) {
- status = TransactionSynchronization.Status.ROLLEDBACK;
- } else {
- status = TransactionSynchronization.Status.UNKNOWN;
+ final TransactionSynchronizationRegistry sr = this.getSynchronizationRegistry();
+ if (null != sr) {
+ sr.registerInterposedSynchronization(new Synchronization() {
+ @Override
+ public void beforeCompletion() {
+ synchronization.beforeCompletion();
}
- synchronization.afterCompletion(status);
- }
- });
+ @Override
+ public void afterCompletion(final int s) {
+ final TransactionSynchronization.Status status;
+ if (s == Status.STATUS_COMMITTED) {
+ status = TransactionSynchronization.Status.COMMITTED;
+ } else if (s == Status.STATUS_ROLLEDBACK) {
+ status = TransactionSynchronization.Status.ROLLEDBACK;
+ } else {
+ status = TransactionSynchronization.Status.UNKNOWN;
+ }
+
+ synchronization.afterCompletion(status);
+ }
+ });
+ } else {
+ logger.warning("TransactionSynchronizationRegistry has not been initialized");
+ }
+
} else {
synchronizations.add(synchronization);
}