Message message = session.createMessage();
producer.send(message);
JMSException exception = _exceptions.poll(10, TimeUnit.SECONDS);
assertNotNull("JMSException is expected", exception);
AMQNoRouteException noRouteException = (AMQNoRouteException) exception.getLinkedException();
assertNotNull("AMQNoRouteException should be linked to JMSEXception", noRouteException);
Message bounceMessage = (Message) noRouteException.getUndeliveredMessage();
assertNotNull("Bounced Message is expected", bounceMessage);
assertEquals("Unexpected message is bounced", message.getJMSMessageID(), bounceMessage.getJMSMessageID());
producer = session.createProducer(null);
message = session.createMessage();
producer.send(session.createQueue(getTestQueueName()), message);
exception = _exceptions.poll(10, TimeUnit.SECONDS);
assertNotNull("JMSException is expected", exception);
noRouteException = (AMQNoRouteException) exception.getLinkedException();
assertNotNull("AMQNoRouteException should be linked to JMSEXception", noRouteException);
bounceMessage = (Message) noRouteException.getUndeliveredMessage();
assertNotNull("Bounced Message is expected", bounceMessage);
assertEquals("Unexpected message is bounced", message.getJMSMessageID(), bounceMessage.getJMSMessageID());
// publish to non-existent topic - should get no failure