diff options
Diffstat (limited to 'qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java')
-rw-r--r-- | qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java | 119 |
1 files changed, 60 insertions, 59 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java index c3fd0ba428..7801cf3d42 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/message/internal/InternalMessage.java @@ -62,9 +62,8 @@ public class InternalMessage extends AbstractServerMessageImpl<InternalMessage, _contentSize = msg.getMetaData().getContentSize(); ByteBuffer buf = msg.getContent(0, _contentSize); - try + try(ObjectInputStream is = new ObjectInputStream(new ByteBufferInputStream(buf))) { - ObjectInputStream is = new ObjectInputStream(new ByteBufferInputStream(buf)); _messageBody = is.readObject(); } @@ -128,9 +127,8 @@ public class InternalMessage extends AbstractServerMessageImpl<InternalMessage, internalHeader = new InternalMessageHeader(header); } ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); - try + try (ObjectOutputStream os = new ObjectOutputStream(bytesOut)) { - ObjectOutputStream os = new ObjectOutputStream(bytesOut); os.writeObject(bodyObject); byte[] bytes = bytesOut.toByteArray(); @@ -181,76 +179,79 @@ public class InternalMessage extends AbstractServerMessageImpl<InternalMessage, final Object messageBody) { - ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); - try + + try(ByteArrayOutputStream bytesOut = new ByteArrayOutputStream()) { - ObjectOutputStream os = new ObjectOutputStream(bytesOut); - os.writeObject(messageBody); - final byte[] bytes = bytesOut.toByteArray(); + try(ObjectOutputStream os = new ObjectOutputStream(bytesOut)) + { + os.writeObject(messageBody); + final byte[] bytes = bytesOut.toByteArray(); - final InternalMessageMetaData metaData = InternalMessageMetaData.create(persistent, header, bytes.length); + final InternalMessageMetaData metaData = + InternalMessageMetaData.create(persistent, header, bytes.length); - return new StoredMessage<InternalMessageMetaData>() - { - @Override - public InternalMessageMetaData getMetaData() + return new StoredMessage<InternalMessageMetaData>() { - return metaData; - } + @Override + public InternalMessageMetaData getMetaData() + { + return metaData; + } - @Override - public long getMessageNumber() - { - return messageNumber; - } + @Override + public long getMessageNumber() + { + return messageNumber; + } - @Override - public void addContent(final int offsetInMessage, final ByteBuffer src) - { - throw new UnsupportedOperationException(); - } + @Override + public void addContent(final int offsetInMessage, final ByteBuffer src) + { + throw new UnsupportedOperationException(); + } - @Override - public int getContent(final int offsetInMessage, final ByteBuffer dst) - { - ByteBuffer buffer = ByteBuffer.wrap(bytes); - buffer.position(offsetInMessage); - buffer = buffer.slice(); - if(dst.remaining() < buffer.remaining()) + @Override + public int getContent(final int offsetInMessage, final ByteBuffer dst) { - buffer.limit(dst.remaining()); + ByteBuffer buffer = ByteBuffer.wrap(bytes); + buffer.position(offsetInMessage); + buffer = buffer.slice(); + if (dst.remaining() < buffer.remaining()) + { + buffer.limit(dst.remaining()); + } + int pos = dst.position(); + dst.put(buffer); + return dst.position() - pos; } - int pos = dst.position(); - dst.put(buffer); - return dst.position()-pos; - } - @Override - public ByteBuffer getContent(final int offsetInMessage, final int size) - { - return ByteBuffer.wrap(bytes,offsetInMessage,size); - } + @Override + public ByteBuffer getContent(final int offsetInMessage, final int size) + { + return ByteBuffer.wrap(bytes, offsetInMessage, size); + } - @Override - public void remove() - { - throw new UnsupportedOperationException(); - } + @Override + public void remove() + { + throw new UnsupportedOperationException(); + } - @Override - public boolean isInMemory() - { - return true; - } + @Override + public boolean isInMemory() + { + return true; + } - @Override - public boolean flowToDisk() - { - return false; - } - }; + @Override + public boolean flowToDisk() + { + return false; + } + }; + } } catch (IOException e) { |