You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2012/01/10 17:03:04 UTC

svn commit: r1229617 - in /qpid/trunk/qpid/java/jca: .gitignore src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java

Author: rajith
Date: Tue Jan 10 16:03:04 2012
New Revision: 1229617

URL: http://svn.apache.org/viewvc?rev=1229617&view=rev
Log:
QPID-3700, Committing patch from Weston Price.

Added:
    qpid/trunk/qpid/java/jca/.gitignore
Modified:
    qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java
    qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java

Added: qpid/trunk/qpid/java/jca/.gitignore
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/jca/.gitignore?rev=1229617&view=auto
==============================================================================
--- qpid/trunk/qpid/java/jca/.gitignore (added)
+++ qpid/trunk/qpid/java/jca/.gitignore Tue Jan 10 16:03:04 2012
@@ -0,0 +1 @@
+*.swp

Modified: qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java?rev=1229617&r1=1229616&r2=1229617&view=diff
==============================================================================
--- qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java (original)
+++ qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRAManagedConnection.java Tue Jan 10 16:03:04 2012
@@ -57,6 +57,8 @@ import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;
 import javax.transaction.xa.XAResource;
 
+import org.apache.qpid.client.Closeable;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -877,4 +879,9 @@ public class QpidRAManagedConnection imp
       this._inManagedTx = inManagedTx;
    }
 
+   public boolean isConnectionClosed()
+   {
+       Closeable c = (Closeable)_connection;
+       return (c == null || c.isClosed() || c.isClosing());
+   }
 }

Modified: qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java?rev=1229617&r1=1229616&r2=1229617&view=diff
==============================================================================
--- qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java (original)
+++ qpid/trunk/qpid/java/jca/src/main/java/org/apache/qpid/ra/QpidRASessionImpl.java Tue Jan 10 16:03:04 2012
@@ -410,19 +410,24 @@ public class QpidRASessionImpl implement
       lock();
       try
       {
-         Session session = getSessionInternal();
 
          if (_cri.isTransacted() == false)
          {
             throw new IllegalStateException("Session is not transacted");
          }
 
+         if(_lockedMC.isConnectionClosed())
+         {
+             throw new IllegalStateException("Attempting to call commit when the underlying connection has been closed.");
+         }
+
          if (_log.isTraceEnabled())
          {
             _log.trace("Commit session " + this);
          }
 
-         session.commit();
+         getSessionInternal().commit();
+
       }
       finally
       {



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org