[jboss-cvs] JBossAS SVN: r77244 - trunk/testsuite/src/main/org/jboss/test/timer/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 20 10:02:22 EDT 2008


Author: jesper.pedersen
Date: 2008-08-20 10:02:22 -0400 (Wed, 20 Aug 2008)
New Revision: 77244

Modified:
   trunk/testsuite/src/main/org/jboss/test/timer/test/BasicTimerUnitTestCase.java
Log:
[JBAS-5866} Always close used objects

Modified: trunk/testsuite/src/main/org/jboss/test/timer/test/BasicTimerUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/timer/test/BasicTimerUnitTestCase.java	2008-08-20 13:54:39 UTC (rev 77243)
+++ trunk/testsuite/src/main/org/jboss/test/timer/test/BasicTimerUnitTestCase.java	2008-08-20 14:02:22 UTC (rev 77244)
@@ -28,6 +28,7 @@
 import javax.ejb.EJBHome;
 import javax.ejb.NoSuchObjectLocalException;
 import javax.jms.Message;
+import javax.jms.JMSException;
 import javax.jms.Queue;
 import javax.jms.QueueConnection;
 import javax.jms.QueueConnectionFactory;
@@ -332,37 +333,90 @@
     */ 
    public void testMDBTimer() throws Exception
    {
+      log.info("+++ testMDBTimer");
       InitialContext ctx = new InitialContext();
       QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
-      QueueConnection queConn = factory.createQueueConnection();
-      queConn.start();
 
-      Queue queueA = (Queue) ctx.lookup("queue/A");
-      Queue queueB = (Queue) ctx.lookup("queue/B");
+      QueueConnection queConn = null;
+      QueueSession session = null;
+      QueueSender sender = null;
+      QueueReceiver receiver = null;
 
-      QueueSession session = queConn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
-      QueueSender sender = session.createSender(queueA);
-      TextMessage message = session.createTextMessage();
-      message.setText("testMDBTimer");
-      message.setIntProperty("UNIQUE_ID", 123456789);
-      message.setJMSReplyTo(queueB);
-      sender.send(message);
-      // Get the initial onMessage ack
-      QueueReceiver receiver = session.createReceiver(queueB);
-      Message reply = receiver.receive(30000);
-      log.info("onMessage reply: " + reply);
-      assertTrue("onMessage reply != null", reply != null);
-      int id = reply.getIntProperty("UNIQUE_ID");
-      assertTrue("onMessage reply.id = 123456789", id == 123456789);
-      // Get the initial timer reply
-      reply = receiver.receive(30000);
-      log.info("ejbTimeout reply: " + reply);
-      assertTrue("ejbTimeout reply != null", reply != null);
-      id = reply.getIntProperty("UNIQUE_ID");
-      assertTrue("onMessage reply.id = 123456789", id == 123456789);
+      try
+      {
+         queConn = factory.createQueueConnection();
+         queConn.start();
 
-      session.close();
-      queConn.close();
+         Queue queueA = (Queue) ctx.lookup("queue/A");
+         Queue queueB = (Queue) ctx.lookup("queue/B");
+         
+         session = queConn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+         sender = session.createSender(queueA);
+
+         TextMessage message = session.createTextMessage();
+         message.setText("testMDBTimer");
+         message.setIntProperty("UNIQUE_ID", 123456789);
+         message.setJMSReplyTo(queueB);
+         sender.send(message);
+
+         // Get the initial onMessage ack
+         receiver = session.createReceiver(queueB);
+         Message reply = receiver.receive(30000);
+         log.info("onMessage reply: " + reply);
+         assertTrue("onMessage reply != null", reply != null);
+         int id = reply.getIntProperty("UNIQUE_ID");
+         assertTrue("onMessage reply.id = 123456789", id == 123456789);
+
+         // Get the initial timer reply
+         reply = receiver.receive(30000);
+         log.info("ejbTimeout reply: " + reply);
+         assertTrue("ejbTimeout reply != null", reply != null);
+         id = reply.getIntProperty("UNIQUE_ID");
+         assertTrue("onMessage reply.id = 123456789", id == 123456789);
+      }
+      finally
+      {
+         if (receiver != null)
+         {
+            try
+            {
+               receiver.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (sender != null)
+         {
+            try
+            {
+               sender.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (session != null)
+         {
+            try
+            {
+               session.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (queConn != null)
+         {
+            try
+            {
+               queConn.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+      }
    }
 
    /** Test an mdb that creates a timer in its ejbCreate method
@@ -373,41 +427,91 @@
       log.info("+++ testOnCreateMDBTimer");
       InitialContext ctx = new InitialContext();
       QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("ConnectionFactory");
-      QueueConnection queConn = factory.createQueueConnection();
-      queConn.start();
 
-      Queue queueA = (Queue) ctx.lookup("queue/C");
-      Queue queueB = (Queue) ctx.lookup("queue/D");
+      QueueConnection queConn = null;
+      QueueSession session = null;
+      QueueSender sender = null;
+      QueueReceiver receiver = null;
 
-      QueueSession session = queConn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
-      QueueSender sender = session.createSender(queueA);
-      TextMessage message = session.createTextMessage();
-      message.setText("testOnCreateMDBTimer");
-      message.setIntProperty("UNIQUE_ID", 123456788);
-      message.setJMSReplyTo(queueB);
-      sender.send(message);
-      // Get the initial onMessage ack
-      QueueReceiver receiver = session.createReceiver(queueB);
-      Message reply = receiver.receive(15000);
-      log.info("onMessage reply: " + reply);
-      assertTrue("onMessage reply != null", reply != null);
-      int id = reply.getIntProperty("UNIQUE_ID");
-      assertTrue("onMessage reply.id = 123456788", id == 123456788);
+      try
+      {
+         queConn = factory.createQueueConnection();
+         queConn.start();
 
-      // Get the 10 ejbCreate timer replys
-      for(int n = 0; n < 10; n ++)
-      {
-         reply = receiver.receive(15000);
-         log.info("ejbTimeout reply: " + reply);
-         assertTrue("ejbTimeout reply != null", reply != null);
-         id = reply.getIntProperty("UNIQUE_ID");
+         Queue queueA = (Queue) ctx.lookup("queue/C");
+         Queue queueB = (Queue) ctx.lookup("queue/D");
+
+         session = queConn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
+         sender = session.createSender(queueA);
+         TextMessage message = session.createTextMessage();
+         message.setText("testOnCreateMDBTimer");
+         message.setIntProperty("UNIQUE_ID", 123456788);
+         message.setJMSReplyTo(queueB);
+         sender.send(message);
+
+         // Get the initial onMessage ack
+         receiver = session.createReceiver(queueB);
+         Message reply = receiver.receive(15000);
+         log.info("onMessage reply: " + reply);
+         assertTrue("onMessage reply != null", reply != null);
+         int id = reply.getIntProperty("UNIQUE_ID");
          assertTrue("onMessage reply.id = 123456788", id == 123456788);
-         long elapsed = reply.getLongProperty("Elapsed");
-         log.info("Elapsed: "+elapsed);
+
+         // Get the 10 ejbCreate timer replys
+         for(int n = 0; n < 10; n ++)
+         {
+            reply = receiver.receive(15000);
+            log.info("ejbTimeout reply: " + reply);
+            assertTrue("ejbTimeout reply != null", reply != null);
+            id = reply.getIntProperty("UNIQUE_ID");
+            assertTrue("onMessage reply.id = 123456788", id == 123456788);
+            long elapsed = reply.getLongProperty("Elapsed");
+            log.info("Elapsed: "+elapsed);
+         }
       }
-
-      session.close();
-      queConn.close();
+      finally
+      {
+         if (receiver != null)
+         {
+            try
+            {
+               receiver.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (sender != null)
+         {
+            try
+            {
+               sender.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (session != null)
+         {
+            try
+            {
+               session.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+         if (queConn != null)
+         {
+            try
+            {
+               queConn.close();
+            } catch (JMSException ignore)
+            {
+               //
+            }
+         }
+      }
    }
 
    /**




More information about the jboss-cvs-commits mailing list