private byte[] doFromMessage(HazelcastMQMessage message) throws IOException { ByteArrayOutputStream outstream = new ByteArrayOutputStream(); // BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( // outstream, UTF_8)); // Command writeLine(outstream, MESSAGE_COMMAND); // Write the general headers HazelcastMQMessage hzMessage = message; marshalHeaders(hzMessage.getHeaders(), outstream); byte[] body = message.getBody(); if (body != null) { write(outstream, HEADER_CONTENT_LENGTH); outstream.write(':'); writeLine(outstream, String.valueOf(body.length)); // Blank line to start the body. outstream.write(NEWLINE); outstream.write(body); } else { outstream.write(NEWLINE); } // Write the terminating NULL character. outstream.write((byte) NULL_CHARACTER); return outstream.toByteArray(); }