You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2013/03/08 16:22:17 UTC

svn commit: r1454422 - in /activemq/trunk: activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java

Author: gtully
Date: Fri Mar  8 15:22:17 2013
New Revision: 1454422

URL: http://svn.apache.org/r1454422
Log:
fix up tck violation on xasession interface after close expectations

Modified:
    activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java
    activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java

Modified: activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java?rev=1454422&r1=1454421&r2=1454422&view=diff
==============================================================================
--- activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java (original)
+++ activemq/trunk/activemq-client/src/main/java/org/apache/activemq/ActiveMQXASession.java Fri Mar  8 15:22:17 2013
@@ -69,14 +69,17 @@ public class ActiveMQXASession extends A
     }
 
     public boolean getTransacted() throws JMSException {
+        checkClosed();
         return getTransactionContext().isInXATransaction();
     }
 
     public void rollback() throws JMSException {
+        checkClosed();
         throw new TransactionInProgressException("Cannot rollback() inside an XASession");
     }
 
     public void commit() throws JMSException {
+        checkClosed();
         throw new TransactionInProgressException("Cannot commit() inside an XASession");
     }
 

Modified: activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java?rev=1454422&r1=1454421&r2=1454422&view=diff
==============================================================================
--- activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java (original)
+++ activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/ActiveMQXAConnectionFactoryTest.java Fri Mar  8 15:22:17 2013
@@ -387,6 +387,30 @@ public class ActiveMQXAConnectionFactory
         broker.stop();
     }
 
+    public void testExceptionAfterClose() throws Exception {
+
+        ActiveMQXAConnectionFactory cf1 = new ActiveMQXAConnectionFactory("vm://localhost?broker.persistent=false");
+        XAConnection connection1 = (XAConnection)cf1.createConnection();
+        connection1.start();
+
+        XASession session = connection1.createXASession();
+        session.close();
+        try {
+            session.commit();
+            fail("expect exception after close");
+        } catch (javax.jms.IllegalStateException expected) {}
+
+        try {
+            session.rollback();
+            fail("expect exception after close");
+        } catch (javax.jms.IllegalStateException expected) {}
+
+        try {
+            session.getTransacted();
+            fail("expect exception after close");
+        } catch (javax.jms.IllegalStateException expected) {}
+    }
+
     private void assertTransactionGoneFromFailoverState(
             ActiveMQXAConnection connection1, Xid tid) throws Exception {