[jboss-cvs] JBossAS SVN: r106016 - in branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca: interfaces and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sun Jun 13 19:18:42 EDT 2010
Author: clebert.suconic at jboss.com
Date: 2010-06-13 19:18:42 -0400 (Sun, 13 Jun 2010)
New Revision: 106016
Modified:
branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/ejb/TransactionActiveBean.java
branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/interfaces/TransactionActiveRemote.java
branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/test/TransactionActiveUnitTestCase.java
Log:
Adding new test to validate Dual session behaviour on JMS XA Sessions
Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/ejb/TransactionActiveBean.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/ejb/TransactionActiveBean.java 2010-06-13 10:41:21 UTC (rev 106015)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/ejb/TransactionActiveBean.java 2010-06-13 23:18:42 UTC (rev 106016)
@@ -264,7 +264,7 @@
throw new RuntimeException("Unexpected Error: ", e);
}
}
-
+
public void changeQueue()
{
try
@@ -283,7 +283,15 @@
c.start();
Session s = c.createSession(true, Session.SESSION_TRANSACTED);
MessageConsumer mc = s.createConsumer(queue);
- mc.receiveNoWait();
+ TextMessage txt = (TextMessage)mc.receive(5000);
+ if (!txt.getText().equals("101"))
+ {
+ throw new IllegalStateException("Unexpected message content. It should be 101");
+ }
+ if (mc.receiveNoWait() != null)
+ {
+ throw new IllegalStateException("Didn't expect two messages");
+ }
mc.close();
try
{
@@ -393,7 +401,36 @@
throw new RuntimeException("Unexpected Error: ", e);
}
}
+
+
+ public void emptyRollback()
+ {
+ try
+ {
+ InitialContext ctx = new InitialContext();
+ ConnectionFactory cf = (ConnectionFactory) ctx.lookup("java:JmsXA");
+ javax.jms.Connection c = cf.createConnection();
+
+ Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue queue = (Queue) ctx.lookup("/queue/A");
+ UserTransaction ct = sessionCtx.getUserTransaction();
+ ct.begin();
+ ct.rollback();
+
+ MessageProducer prod = s.createProducer(queue);
+
+ prod.send(s.createMessage());
+
+ c.close();
+
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e.getMessage(), e);
+ }
+ }
+
public void ejbCreate()
{
}
Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/interfaces/TransactionActiveRemote.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/interfaces/TransactionActiveRemote.java 2010-06-13 10:41:21 UTC (rev 106015)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/interfaces/TransactionActiveRemote.java 2010-06-13 23:18:42 UTC (rev 106016)
@@ -39,4 +39,5 @@
void setupQueue() throws RemoteException;
void changeQueue() throws RemoteException;
void checkQueue() throws RemoteException;
+ void emptyRollback() throws RemoteException;
}
Modified: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/test/TransactionActiveUnitTestCase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/test/TransactionActiveUnitTestCase.java 2010-06-13 10:41:21 UTC (rev 106015)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/jca/test/TransactionActiveUnitTestCase.java 2010-06-13 23:18:42 UTC (rev 106016)
@@ -21,6 +21,13 @@
*/
package org.jboss.test.jca.test;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.MessageConsumer;
+import javax.jms.Queue;
+import javax.jms.Session;
+import javax.naming.InitialContext;
+
import junit.extensions.TestSetup;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -82,4 +89,23 @@
remote.changeQueue();
remote.checkQueue();
}
+
+ public void testEmptyRollback() throws Exception
+ {
+ TransactionActiveHome home = (TransactionActiveHome) getInitialContext().lookup("test/ejbs/TxActiveBean");
+ TransactionActiveRemote remote = home.create();
+ remote.emptyRollback();
+
+ InitialContext ctx = new InitialContext();
+
+ ConnectionFactory cf = (ConnectionFactory) ctx.lookup("/ConnectionFactory");
+ Connection conn = cf.createConnection();
+ conn.start();
+ Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue queueA = (Queue) ctx.lookup("/queue/A");
+ MessageConsumer cons = sess.createConsumer(queueA);
+ assertNotNull(cons.receive(5000));
+
+ conn.close();
+ }
}
More information about the jboss-cvs-commits
mailing list