@Override public synchronized void deleteFile() throws Exception { validateFile(); releaseResources(); storageManager.deleteLargeMessageFile(this); }
} finally { if (largeMessage != null) { largeMessage.releaseResources(); largeMessage = null;
} finally { if (largeMessage != null) { largeMessage.releaseResources(); largeMessage = null;
largeServerMessage.addBytes(new byte[0]); assertTrue(open.get()); largeServerMessage.releaseResources(); assertTrue(sync.get());
@Test public void testLargeMessageBodySize() throws Exception { ActiveMQServer server = createServer(true, isNetty(), storeType); server.start(); LargeServerMessageImpl fileMessage = new LargeServerMessageImpl((JournalStorageManager) server.getStorageManager()); fileMessage.setMessageID(1005); Assert.assertEquals(0, fileMessage.getBodyBufferSize()); for (int i = 0; i < largeMessageSize; i++) { fileMessage.addBytes(new byte[]{ActiveMQTestBase.getSamplebyte(i)}); } Assert.assertEquals(largeMessageSize, fileMessage.getBodyBufferSize()); // The server would be doing this fileMessage.putLongProperty(Message.HDR_LARGE_BODY_SIZE, largeMessageSize); fileMessage.releaseResources(); Assert.assertEquals(largeMessageSize, fileMessage.getBodyBufferSize()); }
fileMessage.releaseResources();
fileMessage.releaseResources();
fileMessage.releaseResources();
@Test public void testSendServerMessage() throws Exception { ActiveMQServer server = createServer(true, isNetty(), storeType); server.start(); ClientSessionFactory sf = addSessionFactory(createSessionFactory(locator)); ClientSession session = sf.createSession(false, false); LargeServerMessageImpl fileMessage = new LargeServerMessageImpl((JournalStorageManager) server.getStorageManager()); fileMessage.setMessageID(1005); for (int i = 0; i < largeMessageSize; i++) { fileMessage.addBytes(new byte[]{ActiveMQTestBase.getSamplebyte(i)}); } // The server would be doing this fileMessage.putLongProperty(Message.HDR_LARGE_BODY_SIZE, largeMessageSize); fileMessage.releaseResources(); session.createQueue(ADDRESS, ADDRESS, true); ClientProducer prod = session.createProducer(ADDRESS); prod.send(fileMessage); fileMessage.deleteFile(); session.commit(); session.start(); ClientConsumer cons = session.createConsumer(ADDRESS); ClientMessage msg = cons.receive(5000); Assert.assertNotNull(msg); Assert.assertEquals(msg.getBodySize(), largeMessageSize); for (int i = 0; i < largeMessageSize; i++) { Assert.assertEquals(ActiveMQTestBase.getSamplebyte(i), msg.getBodyBuffer().readByte()); } msg.acknowledge(); session.commit(); }
fileMessage.releaseResources();
fileMessage.releaseResources();
fileMessage.releaseResources();