@Override public void stop() throws Exception { requestor.close(); if (sf != null) { sf.close(); } if (serverLocator != null) { serverLocator.close(); } sf = null; serverLocator = null; }
requestor.close(); } catch (Exception e) { if (expectSuccess) {
reply.acknowledge(); Assert.assertEquals(value, reply.getObjectProperty(key)); requestor.close(); session.close();
@Test public void testClose() throws Exception { final SimpleString key = RandomUtil.randomSimpleString(); long value = RandomUtil.randomLong(); SimpleString requestAddress = RandomUtil.randomSimpleString(); SimpleString requestQueue = RandomUtil.randomSimpleString(); ClientSessionFactory sf = createSessionFactory(locator); final ClientSession session = sf.createSession(false, true, true); session.start(); session.createTemporaryQueue(requestAddress, requestQueue); ClientConsumer requestConsumer = session.createConsumer(requestQueue); requestConsumer.setMessageHandler(new SimpleMessageHandler(key, session)); final ClientRequestor requestor = new ClientRequestor(session, requestAddress); ClientMessage request = session.createMessage(false); request.putLongProperty(key, value); ClientMessage reply = requestor.request(request, 500); Assert.assertNotNull("reply was not received", reply); Assert.assertEquals(value, reply.getObjectProperty(key)); request = session.createMessage(false); request.putLongProperty(key, value + 1); requestor.close(); ActiveMQAction activeMQAction = new ActiveMQAction() { @Override public void run() throws Exception { requestor.request(session.createMessage(false), 500); } }; ActiveMQTestBase.expectActiveMQException("can not send a request on a closed ClientRequestor", ActiveMQExceptionType.OBJECT_CLOSED, activeMQAction); }