1 22 package org.jboss.test.jbossmq.test; 23 24 import javax.jms.JMSException ; 25 import javax.jms.QueueConnection ; 26 import javax.jms.QueueConnectionFactory ; 27 import javax.jms.QueueSession ; 28 import javax.jms.Session ; 29 import javax.jms.TemporaryQueue ; 30 import javax.naming.Context ; 31 32 import org.jboss.test.JBossTestCase; 33 34 40 public class TemporarySessionConnectionUnitTestCase extends JBossTestCase 41 { 42 static String QUEUE_FACTORY = "ConnectionFactory"; 43 44 QueueConnection queueConnection; 45 46 public TemporarySessionConnectionUnitTestCase(String name) throws Exception 47 { 48 super(name); 49 } 50 51 public void testTemporaryDifferentSession() throws Exception 52 { 53 connect(); 54 try 55 { 56 QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 57 TemporaryQueue temp = session.createTemporaryQueue(); 58 session.createConsumer(temp); 59 session.close(); 60 session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 61 session.createConsumer(temp).close(); 62 } 63 finally 64 { 65 disconnect(); 66 } 67 } 68 69 public void testTemporaryDifferentConnection() throws Exception 70 { 71 connect(); 72 try 73 { 74 QueueSession session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 75 TemporaryQueue temp = session.createTemporaryQueue(); 76 session.createConsumer(temp); 77 disconnect(); 78 connect(); 79 session = queueConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); 80 try 81 { 82 session.createConsumer(temp).close(); 83 fail("Should not be able to consume a temporary on different connection"); 84 } 85 catch (JMSException expected) 86 { 87 } 88 } 89 finally 90 { 91 disconnect(); 92 } 93 } 94 95 protected void connect() throws Exception 96 { 97 Context context = getInitialContext(); 98 QueueConnectionFactory queueFactory = (QueueConnectionFactory ) context.lookup(QUEUE_FACTORY); 99 queueConnection = queueFactory.createQueueConnection(); 100 queueConnection.start(); 101 102 getLog().debug("Connection established."); 103 } 104 105 protected void disconnect() 106 { 107 try 108 { 109 if (queueConnection != null) 110 queueConnection.close(); 111 } 112 catch (Exception ignored) 113 { 114 } 115 116 getLog().debug("Connection closed."); 117 } 118 } 119 | Popular Tags |