Я пытаюсь создать приложение Java , используя Springboot 3 Framework и graphql . Я пытаюсь разрешить поле, которое зависит от нескольких данных DataLoaders в моем приложении, однако, я, кажется, сталкивается с проблемой, когда мое приложение просто висит, а затем полностью время, когда я пытаюсь объединить их, используя метод thencompose .
, когда я использую один зависимый, нагруженный совместно с методом с добавлением, что он работает, это будет больше, если он будет больше, если он будет более хорош, что он будет более хорош, что он будет более хорош, что он будет более хорош, что он будет более хорош, что он будет более хорош, а не нагружает. Breaks. < /p>
Я добавил некоторый пример кода ниже: < /p>
@Component
public class ListDataLoader implements BiFunction {
@Override
public Mono apply(Set page, BatchLoaderEnvironment batchLoaderEnvironment) {
return Flux.fromStream(page.stream())
.filter(page -> page.getProperty() != null)
.map(page ->
{
return Map.entry(page, List.of(1, 2, 3));
}
)
.collect(toMap(Map.Entry::getKey, Map.Entry::getValue));
}
}
@Component
public class NameDataLoader implements BiFunction {
@Override
public Mono apply(Set page, BatchLoaderEnvironment batchLoaderEnvironment) {
return Flux.fromStream(page.stream())
.filter(page -> page.getProperty() != null)
.map(page ->
{
return Map.entry(page, "true");
}
)
.collect(toMap(Map.Entry::getKey, Map.Entry::getValue));
}
}
< /code>
и Resolver < /p>
@Controller
public class FilterController {
@SchemaMapping(typeName = "Page", field = "filter")
public CompletableFuture filter(
Page page,
DataFetchingEnvironment env,
DataLoader list,
DataLoader filter,
DataLoader name
) {
return list.load(page, env)
.thenCompose(x -> filter.load(page, env));
}
}
< /code>
Однако, когда я пытаюсь добавить еще один загрузчик данных, он ломается. < /p>
return list.load(page, env)
.thenCompose(y -> name.load(page, env)
.thenCompose(x -> filter.load(page, env)));
Подробнее здесь: https://stackoverflow.com/questions/795 ... pplication