@Override public void decodeRest(final ActiveMQBuffer buffer) { pageNumber = buffer.readInt(); pagedMessage = new PagedMessageImpl(null); pagedMessage.decode(buffer); }
@Override public int getEncodeSize() { if (isLargeMessage()) { return DataConstants.SIZE_LONG + DataConstants.SIZE_BYTE + DataConstants.SIZE_INT + LargeMessagePersister.getInstance().getEncodeSize((LargeServerMessage)message) + DataConstants.SIZE_INT + queueIDs.length * DataConstants.SIZE_LONG; } else { return DataConstants.SIZE_LONG + DataConstants.SIZE_BYTE + message.getPersister().getEncodeSize(message) + DataConstants.SIZE_INT + queueIDs.length * DataConstants.SIZE_LONG; } }
PagedMessage pagedMessage = new PagedMessageImpl(message, routeQueues(tx, listCtx), transactionID);
@Override public void encode(final ActiveMQBuffer buffer) { buffer.writeLong(transactionID); boolean isLargeMessage = isLargeMessage(); buffer.writeBoolean(isLargeMessage); if (isLargeMessage) { buffer.writeInt(LargeMessagePersister.getInstance().getEncodeSize((LargeServerMessage)message)); LargeMessagePersister.getInstance().encode(buffer, (LargeServerMessage) message); } else { message.getPersister().encode(buffer, message); } buffer.writeInt(queueIDs.length); for (long queueID : queueIDs) { buffer.writeLong(queueID); } }
int oldPos = fileBuffer.readerIndex(); if (fileBuffer.readerIndex() + messageSize < fileBuffer.capacity() && fileBuffer.getByte(oldPos + messageSize) == Page.END_BYTE) { PagedMessage msg = new PagedMessageImpl(storageManager); msg.decode(fileBuffer); byte b = fileBuffer.readByte();
/** * @param simpleDestination * @param page * @param numberOfElements * @return * @throws Exception */ protected void addPageElements(final SimpleString simpleDestination, final Page page, final int numberOfElements) throws Exception { int initialNumberOfMessages = page.getNumberOfMessages(); for (int i = 0; i < numberOfElements; i++) { ICoreMessage msg = new CoreMessage().initBuffer(100); for (int j = 0; j < 10; j++) { msg.getBodyBuffer().writeByte((byte) 'b'); } msg.setAddress(simpleDestination); page.write(new PagedMessageImpl(msg, new long[0])); Assert.assertEquals(initialNumberOfMessages + i + 1, page.getNumberOfMessages()); } }
PagedMessage pgmsg = new PagedMessageImpl(msg, new long[0]); manager.pageWrite(pgmsg, 1); manager.pageWrite(pgmsg, 2);