@Test public void testSimpleMessageReceivedOnQueueInLocalTX() throws Exception { HornetQResourceAdapter qResourceAdapter = newResourceAdapter(); qResourceAdapter.setUseLocalTx(true); MyBootstrapContext ctx = new MyBootstrapContext(); qResourceAdapter.start(ctx); HornetQActivationSpec spec = new HornetQActivationSpec(); spec.setResourceAdapter(qResourceAdapter); spec.setUseJNDI(false); spec.setDestinationType("javax.jms.Queue"); spec.setDestination(MDBQUEUE); qResourceAdapter.setConnectorClassName(INVM_CONNECTOR_FACTORY); CountDownLatch latch = new CountDownLatch(1); ExceptionDummyMessageEndpoint endpoint = new ExceptionDummyMessageEndpoint(latch); DummyMessageEndpointFactory endpointFactory = new DummyMessageEndpointFactory(endpoint, false); qResourceAdapter.endpointActivation(endpointFactory, spec); ClientSession session = locator.createSessionFactory().createSession(); ClientProducer clientProducer = session.createProducer(MDBQUEUEPREFIXED); ClientMessage message = session.createMessage(true); message.getBodyBuffer().writeString("teststring"); clientProducer.send(message); latch.await(5, TimeUnit.SECONDS); assertNull(endpoint.lastMessage); latch = new CountDownLatch(1); endpoint.reset(latch); clientProducer.send(message); session.close(); latch.await(5, TimeUnit.SECONDS); assertNotNull(endpoint.lastMessage); assertEquals(endpoint.lastMessage.getCoreMessage().getBodyBuffer().readString(), "teststring"); qResourceAdapter.endpointDeactivation(endpointFactory, spec); qResourceAdapter.stop(); }