Мы собираем данные XML в виде строки и преобразуем их в байты с getBytes(StandardCharsets.UTF_8)
и записываем их в очередь хроники:
try (DocumentContext dc = appender.writingDocument()) {
Wire wire = dc.wire();
Bytes bytes = wire.bytes();
bytes.write(message);
}
и читать так:
DocumentContext dc = tailer.readingDocument();
if (dc.isPresent()) {
Bytes bytes = dc.wire().bytes();
int length = bytes.length();
byte[] output = new byte[length];
bytes.read(output);
return output;
}
Когда мы читаем буферы обратно, большинство размеров буферов совпадают, но для некоторых буферов, таких как 1 на 100, мы получаем дополнительные байты (1/2/3 байта 0x008F). Мы не могли определить, какие буферы имеют это заполнение, и не могли действительно демонтировать буфер из-за этого заполнения. Не можете понять, почему некоторые буферы имеют эти дополнительные байты?