从Spring数据反应式存储库迭代流量

时间:2020-03-13 01:35:03

标签: spring-data-cassandra spring-reactive

我是弹起反应性卡桑德拉的新手,无法弄清楚如何迭代助焊剂。我有从服务式存储库(是POJO成员的Flux)中提取数据的服务,然后我想将其转换为Map,这是我的代码

@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);
}

存储库返回Member的Flux,我想创建一个中间图以帮助Flux。但是它不能在这一行编译:

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

似乎无法识别变量member是POJO成员,因此它无法理解member.getMid()member.getAid()方法。我如何获得地图? Flux不是会员列表吗?

0 个答案:

没有答案