Как записать несколько объектов avro в ByteArrayOutputStreamJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как записать несколько объектов avro в ByteArrayOutputStream

Сообщение Anonymous »

На странице документации Avro есть пример записи нескольких объектов avro в файл:

Код: Выделить всё

DatumWriter userDatumWriter = new SpecificDatumWriter(User.class);
DataFileWriter dataFileWriter = new DataFileWriter(userDatumWriter);
dataFileWriter.create(user1.getSchema(), new File("users.avro"));
dataFileWriter.append(user1);
dataFileWriter.append(user2);
dataFileWriter.append(user3);
dataFileWriter.close();
Я хотел бы добиться чего-то подобного, но написать в ByteArrayOutputStream.

Код: Выделить всё

ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Encoder encoder = EncoderFactory.get().binaryEncoder(outputStream, null);
DatumWriter myDataDatumWriter = new SpecificDatumWriter(MyData.getClassSchema());

myDataDatumWriter.write(myData1, encoder);
encoder.flush();
myDataDatumWriter.write(myData2, encoder);
encoder.flush();
Я отправил данные в выходной поток в виде ответа HTTP, но данные не могут быть десериализованы на стороне клиента, поскольку они не являются распознаваемым форматом avro.
Что не так с этим кодом?

Подробнее здесь: https://stackoverflow.com/questions/784 ... tputstream
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»