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);
         }