[jboss-cvs] JBossAS SVN: r66994 - in branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions: unit and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 12 18:25:38 EST 2007
Author: wolfc
Date: 2007-11-12 18:25:38 -0500 (Mon, 12 Nov 2007)
New Revision: 66994
Modified:
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/QueueTestMDB.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/ReplyToCMDB.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/RollbackQueueTestMDB.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/StatelessFacadeBean.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/unit/MDBUnitTestCase.java
Log:
JBPAPP-347: Fixed mdbtransactions test
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/QueueTestMDB.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/QueueTestMDB.java 2007-11-12 23:05:54 UTC (rev 66993)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/QueueTestMDB.java 2007-11-12 23:25:38 UTC (rev 66994)
@@ -22,14 +22,13 @@
package org.jboss.ejb3.test.mdbtransactions;
import javax.ejb.ActivationConfigProperty;
-import javax.ejb.EJB;
import javax.ejb.MessageDriven;
+import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
-
import org.jboss.logging.Logger;
/**
@@ -45,20 +44,19 @@
private static final Logger log = Logger.getLogger(QueueTestMDB.class);
private @PersistenceContext EntityManager manager;
- @EJB StatelessFacade stateless;
public void onMessage(Message recvMsg)
{
try
{
ObjectMessage message = (ObjectMessage)recvMsg;
- Entity entity = (Entity)message.getObject();
- stateless.persist(entity);
- ++TestStatusBean.messageCount;
+ Entity entity = (Entity)message.getObject();
+ manager.remove(entity);
}
- catch (Throwable t)
+ catch (JMSException e)
{
- TestStatusBean.caughtRollback = true;
+ e.printStackTrace();
+ throw new RuntimeException(e);
}
}
}
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/ReplyToCMDB.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/ReplyToCMDB.java 2007-11-12 23:05:54 UTC (rev 66993)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/ReplyToCMDB.java 2007-11-12 23:25:38 UTC (rev 66994)
@@ -37,7 +37,8 @@
import javax.jms.TextMessage;
/**
- * Reply a message to queue/C whenever a message is received on queue/A.
+ * Reply a message to queue/C whenever a message is received on queue/B.
+ * Note that this has nothing to do with the actual test.
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
* @version $Revision: $
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/RollbackQueueTestMDB.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/RollbackQueueTestMDB.java 2007-11-12 23:05:54 UTC (rev 66993)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/RollbackQueueTestMDB.java 2007-11-12 23:25:38 UTC (rev 66994)
@@ -24,6 +24,7 @@
import javax.ejb.ActivationConfigProperty;
import javax.ejb.EJB;
import javax.ejb.MessageDriven;
+import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
@@ -52,12 +53,18 @@
try
{
ObjectMessage message = (ObjectMessage)recvMsg;
- Entity entity = (Entity)message.getObject();
- manager.remove(entity);
+ Entity entity = (Entity)message.getObject();
+ stateless.persist(entity);
+ ++TestStatusBean.messageCount;
}
- catch (Throwable t)
+ catch (JMSException e)
{
- t.printStackTrace();
+ e.printStackTrace();
}
+ catch (RuntimeException e)
+ {
+ TestStatusBean.caughtRollback = true;
+ throw e;
+ }
}
}
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/StatelessFacadeBean.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/StatelessFacadeBean.java 2007-11-12 23:05:54 UTC (rev 66993)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/StatelessFacadeBean.java 2007-11-12 23:25:38 UTC (rev 66994)
@@ -54,7 +54,7 @@
}
catch (Throwable t)
{
- t.printStackTrace();
+ log.error("clear failed", t);
}
}
@@ -67,7 +67,7 @@
}
catch (Throwable t)
{
- t.printStackTrace();
+ log.error("persist failed", t);
}
}
}
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/unit/MDBUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/unit/MDBUnitTestCase.java 2007-11-12 23:05:54 UTC (rev 66993)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/mdbtransactions/unit/MDBUnitTestCase.java 2007-11-12 23:25:38 UTC (rev 66994)
@@ -132,12 +132,46 @@
TestStatus status = (TestStatus)getInitialContext().lookup("TestStatusBean/remote");
status.clear();
- sendMessages("queue/mdbtest", 2);
+ sendMessages("queue/rollbackmdbtest", 2);
Thread.sleep(5000);
assertEquals(1, status.messageCount());
assertTrue(status.caughtRollback());
+
+ Queue queue = (Queue) getInitialContext().lookup("queue/DLQ");
+ QueueConnectionFactory factory = getQueueConnectionFactory();
+ QueueConnection connection = factory.createQueueConnection();
+ try
+ {
+ connection.start();
+ QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+
+ QueueReceiver receiver = session.createReceiver(queue);
+
+ /*
+ {
+ Queue sendQueue = (Queue) getInitialContext().lookup("queue/rollbackmdbtest");
+ QueueSender sender = session.createSender(sendQueue);
+ TextMessage message = session.createTextMessage("Should never arrive");
+ message.setIntProperty("JMS_JBOSS_REDELIVERY_LIMIT", 0);
+ sender.send(message);
+ sender.close();
+ }
+ */
+
+ Message message = receiver.receive(5000);
+ assertNotNull(message);
+
+ session.close();
+ connection.close();
+ }
+ finally
+ {
+ connection.close();
+ }
+
+ sendMessages("queue/mdbtest", 1);
}
public void testRollback() throws Exception
@@ -145,85 +179,80 @@
TestStatus status = (TestStatus)getInitialContext().lookup("TestStatusBean/remote");
status.clear();
- sendMessages("queue/rollbackmdbtest", 1);
-
- Thread.sleep(5000);
-
- Queue queue = (Queue) getInitialContext().lookup("queue/DLQ");
- QueueConnectionFactory factory = getQueueConnectionFactory();
- QueueConnection connection = factory.createQueueConnection();
- connection.start();
- QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- QueueReceiver receiver = session.createReceiver(queue);
- Message message = receiver.receiveNoWait();
- assertNotNull(message);
-
- session.close();
- connection.close();
}
+ /**
+ * Test sending a message to a MDB which can not be created.
+ * @throws Exception
+ */
public void testBadCreation() throws Exception
{
TestStatus status = (TestStatus)getInitialContext().lookup("TestStatusBean/remote");
status.clear();
- InitialContext ctx = new InitialContext();
+ sendMessages("queue/badcreationmdb", 1);
+
+ InitialContext ctx = getInitialContext();
Queue dlq = (Queue) ctx.lookup("queue/DLQ");
- log.info("queue = " + dlq);
QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
QueueConnection connection = factory.createQueueConnection();
- connection.start();
- QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
- /*
+ try
{
- QueueBrowser browser = session.createBrowser(dlq);
- Enumeration<?> e = browser.getEnumeration();
- int size = 0;
- while(e.hasMoreElements())
+ connection.start();
+ QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ QueueReceiver receiver = session.createReceiver(dlq);
+
+ //sendMessages(session, "queue/badcreationmdb", 1);
+ /*
{
- e.nextElement();
- size++;
+ Queue queue = (Queue) ctx.lookup("queue/badcreationmdb");
+ QueueSender sender = session.createSender(queue);
+ TextMessage message = session.createTextMessage("Should never arrive");
+ message.setIntProperty("JMS_JBOSS_REDELIVERY_LIMIT", 0);
+ sender.send(message);
+ sender.close();
}
- browser.close();
+ */
- log.info("queue size = " + size);
+ //Thread.sleep(5000);
+
+ log.info("ENTERING RECEIVE");
+ Message message = receiver.receive(5000);
+ log.info("EXITING RECEIVE WITH " + message);
+ assertNotNull(message);
+
+ session.close();
}
- */
- QueueReceiver receiver = session.createReceiver(dlq);
-
- //sendMessages("queue/badcreationmdb", 1);
+ finally
{
- Queue queue = (Queue) ctx.lookup("queue/badcreationmdb");
- QueueSender sender = session.createSender(queue);
- TextMessage message = session.createTextMessage("Should never arrive");
- message.setIntProperty("JMS_JBOSS_REDELIVERY_LIMIT", 0);
- sender.send(message);
- sender.close();
+ connection.close();
}
-
- //Thread.sleep(5000);
-
- log.info("ENTERING RECEIVE");
- Message message = receiver.receive(5000);
- log.info("EXITING RECEIVE WITH " + message);
- assertNotNull(message);
-
- session.close();
- connection.close();
}
protected void sendMessages(String queueName, int numMessages) throws Exception
{
- QueueConnection connection = null;
+ InitialContext ctx = getInitialContext();
+ QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
+ QueueConnection connection = factory.createQueueConnection();
+ try
+ {
+ connection.start();
+ QueueSession session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+ sendMessages(session, queueName, numMessages);
+ session.close();
+ }
+ finally
+ {
+ connection.close();
+ }
+ }
+
+ protected void sendMessages(QueueSession session, String queueName, int numMessages) throws Exception
+ {
QueueSender sender = null;
- QueueSession session = null;
Queue queue = (Queue) getInitialContext().lookup(
queueName);
- QueueConnectionFactory factory = getQueueConnectionFactory();
- connection = factory.createQueueConnection();
- connection.start();
- session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
QueueReceiver receiver = session.createReceiver(queue);
Message message = receiver.receiveNoWait();
@@ -244,9 +273,6 @@
for (int i = 0 ; i < numMessages ; ++i)
sender.send(msg);
-
- session.close();
- connection.close();
}
protected QueueConnectionFactory getQueueConnectionFactory()
More information about the jboss-cvs-commits
mailing list