Я беру все строки из таблицы DB2 / 400 и возвращаю их в ответном запросе
Моя служба выглядит так
package example.y2.api.service.impl;
import java.util.stream.Stream;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import example.y2.api.entity.impl.Y2ModelListEntry;
import example.y2.api.mapper.CoreMapper;
import example.y2.api.model.impl.ObjectListEntry;
import io.smallrye.mutiny.Multi;
@ApplicationScoped
public class Y2ListServiceAsync {
@Inject
CoreMapper mapper;
public Multi<ObjectListEntry> asyncAll() {
return Multi.createFrom().items(getStream()).map(this::map);
}
private Stream<Y2ModelListEntry> getStream() {
return Y2ModelListEntry.streamAll();
}
private ObjectListEntry map(Y2ModelListEntry y) {
ObjectListEntry listEntry = new ObjectListEntry();
mapper.directMap(listEntry, y);
return listEntry;
}
}
Поток Panache должен быть заключен в @Transactional метод. Я пытаюсь понять, могу ли я обернуть поток Panache при использовании потока с Multi.
Это моя первая попытка написать реактивное приложение.