итерированный поток из хранилища реактивных данных пружины - PullRequest
0 голосов
/ 13 марта 2020

Я новичок в пружинной реактивной кассандре и не могу понять, как повторить поток. У меня есть служба, которая извлекает данные из реактивного репозитория, который представляет собой поток POJO члена, затем я хочу преобразовать его в карту, вот мой код

@Slf4j
@Service
public class idLookupServiceReactive {
  @Autowired
  private final IdReactiveRepository repository;

  public List<String, String> getIdsByMids(List<Identifier> identifiers) {
    List<String> mids =
        identifiers.stream().map(Identifier::getMid).collect(Collectors.toList());

    Map<String,String> midToAidMap = Maps.newHashMap();
    repository
        .findAllById(mids)
        .log()
        .map(member -> midToAidMap.put(member.getMid(), member.getAid()))
        .subscribe();

    return midToAidMap;
  }
}

public interface IdReactiveRepository<Member, String> extends
    ReactiveCassandraRepository<Member, String> {
  @Override
  Flux<Member> findAllById(Iterable<String> iterable);
}

из репозитория, возвращающий поток участника, и Я хочу создать карту середины, чтобы помочь из потока. однако он не может скомпилировать в этой строке:

.map(member -> midToAidMap.put(member.getMid(), member.getAid()))

похоже, что он не распознает переменную member, являющуюся членом POJO, поэтому он не может понимать методы member.getMid() и member.getAid(). как я могу получить карту? Flux - это не список участников?

...