Пустой ответ при подписке на GraphQL
Следуя этому примеру,
Я реализовал свой собственный издатель
Publisher<VendorCostInfo> vendorCostInfo(VendorCostInfoFilter filter) {
return vendorCostInfoPublisher.getPublisher(vendorCostInfoFilter);
}
и подписка с приведенной ниже эмиттерной логикой
private void emitVendorCostInfo(
ObservableEmitter<VendorCostInfo> emitter,
List<VendorCostInfo> vendorCostInfoList
) {
for (VendorCostInfo info: vendorCostInfoList) {
try {
emitter.onNext(info);
} catch (RuntimeException e) {
log.error("cannot send vendor cost info", e);
}
}
}
а также логика конструктора
public VendorCostInfoPublisher(VendorCostInfoService service) {
this.vendorCostInfoService = service;
Observable<VendorCostInfo> vendorCostInfoObservable = Observable.create(emitter -> {
ScheduledExecutorService executorService =
Executors.newScheduledThreadPool(2);
executorService.scheduleAtFixedRate(
newVendorCostInfo(emitter),
0,
2,
TimeUnit.SECONDS
);
});
ConnectableObservable<VendorCostInfo> connectableObservable =
vendorCostInfoObservable.share().publish();
connectableObservable.connect();
publisher = connectableObservable.toFlowable(BackpressureStrategy.BUFFER);
}
Я подтвердил, что данные существуют, но при попытке подписки
subscription {
vendorCostInfo(filter:{}) {
service
}
}
ответ
{
"data": {}
}
Почему это так? Полный код здесь