Я пытаюсь маршалировать объект jaxb в строку XML и затем записать его в файл с помощью akka Streams, но после выполнения созданный файл пуст.
Я уже проверил метод маршалинга, но он отлично работает без потоков.Помогите мне, пожалуйста, понять, где находится ошибка.
Вот мой метод тестирования:
@Test
public void singlePojoTest() {
ActorSystem actor = ActorSystem.create();
Materializer materializer = ActorMaterializer.create(actor);
//Creating and initializing of JAXB POJO
AuditFile.Header header = new AuditFile.Header();
initHeader(header,calendar);
// useMarshaller - is converting object to xml String
Flow<Object,String,NotUsed> flow = Flow.of(Object.class).map(o -> useMarshaller(o));
Source<String,NotUsed> source = Source.single((Object)header).via(flow);
CompletionStage<IOResult> result = source.map(string -> ByteString.fromString(string)).runWith(FileIO.toPath(Paths.get("test.txt")),materializer);
actor.terminate();
}
Я ожидаю, что после выполнения метода - файл с маршалированным xml будетбыть созданным.