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