[ https://issues.apache.org/jira/browse/QPID-5931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Moravec resolved QPID-5931. --------------------------------- Resolution: Fixed Fix Version/s: 0.29 > [Java client] JMSException instead of InvalidDestinationException raised > when sending to temporary destination after session closure > ------------------------------------------------------------------------------------------------------------------------------------- > > Key: QPID-5931 > URL: https://issues.apache.org/jira/browse/QPID-5931 > Project: Qpid > Issue Type: Bug > Components: Java Client > Affects Versions: 0.28 > Reporter: Pavel Moravec > Assignee: Pavel Moravec > Priority: Trivial > Labels: easyfix, easytest, patch > Fix For: 0.29 > > > An attempt to send to an auxiliary queue after the relevant session is closed > should raise InvalidDestinationException. But javax.jms.JMSException is > raised instead. > junit test for this follows: > ~~~ > package org.apache.qpid.example; > import static org.junit.Assert.assertEquals; > import static org.junit.Assert.assertNotNull; > import static org.junit.Assert.fail; > import org.apache.qpid.client.AMQConnection; > import org.apache.qpid.client.AMQAnyDestination; > import javax.jms.Connection; > import javax.jms.ConnectionFactory; > import javax.jms.Destination; > import javax.jms.InvalidDestinationException; > import javax.jms.JMSException; > import javax.jms.MessageConsumer; > import javax.jms.MessageProducer; > import javax.jms.Session; > import javax.jms.TemporaryQueue; > import javax.jms.TextMessage; > import org.junit.After; > import org.junit.Before; > import org.junit.Test; > public class InvalidDestinationTest > { > private Destination destination; > private ConnectionFactory conFac; > private Connection publisherConnection; > private Session publisherSession; > private Connection consumerConnection; > private Session consumerSession; > private MessageProducer publisherMsgProducer; > private MessageConsumer consumerMsgConsumer; > private MessageProducer consumerMsgProducer; > private TemporaryQueue replyToQueue; > public void setupQpid() throws Exception > { > destination = new AMQAnyDestination("demoQueue; {create: > always}"); > > String brokerlist = > "amqp://guest:guest@guest/test?brokerlist='tcp://localhost:5672'"; > publisherConnection = new AMQConnection(brokerlist); > publisherSession = publisherConnection.createSession(false, > Session.CLIENT_ACKNOWLEDGE); > > consumerConnection = new AMQConnection(brokerlist);; > consumerSession = consumerConnection.createSession(false, > Session.CLIENT_ACKNOWLEDGE); > } > @Before > public void before() throws Exception > { > setupQpid(); > } > > @After > public void after() throws Exception > { > consumerSession.close(); > consumerConnection.close(); > publisherSession.close(); > publisherConnection.close(); > } > > @Test > public void sendToTempQueueWhenItDoesNotExist() throws Exception > { > consumerMsgConsumer = > consumerSession.createConsumer(destination); > consumerConnection.start(); > publisherMsgProducer = > publisherSession.createProducer(destination); > replyToQueue = publisherSession.createTemporaryQueue(); > publisherConnection.close(); > > TextMessage response = consumerSession.createTextMessage(""); > consumerMsgProducer = > consumerSession.createProducer(replyToQueue); > try > { > consumerMsgProducer.send(response); > } > catch (InvalidDestinationException e) > { > //expect to get this exception > } > catch (JMSException e) > { > e.printStackTrace(); > fail("Unexpected exception type"); > } > } > } > ~~~ -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org