[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