У меня есть код ниже, где я пытаюсь создать объект из байтов.Поэтому сначала мне нужно распаковать сжатые байты в xml, а затем преобразовать их в объект RawDeal.Я смотрю, смогу ли я распараллелить шаг распаковки и здесь.Что является лучшим способом распараллелить распаковать и преобразовать вариант.Могу ли я иметь способ, который отображает несколько шагов, один делает байты в строку XML и другие преобразования XML в Pojo в параллельном режиме.Не уверены, возможно ли использование только потоков?
private List<VersionedRawDeal> getVersionedRawDeals(List<CompressedVersionedRawDeal> compressedRawDeals) {
List<VersionedRawDeal> versionedRawDeals = compressedRawDeals
.parallelStream()
.map(vrd -> getVersionedRawDeal(vrd))
.collect(Collectors.toList());
return versionedRawDeals;
}
private VersionedRawDeal getVersionedRawDeal(CompressedVersionedRawDeal compressedVerDeal){
CompressedRawDeal compressedDeal = compressedVerDeal.rawDeal();
DealVersion dealVersion = compressedVerDeal.dealVersion();
final String dealXml = unzip(dealVersion, compressedDeal.getDealXmlBytes());
final RawDeal rawDeal = RawDealTransformers.getRawDealTransformerFor(compressedDeal.getSourceSystem())
.transformDeal(compressedDeal.getSourceEvent(), dealXml);
return ImmutableVersionedRawDeal.builder().dealVersion(dealVersion).rawDeal(rawDeal).build();
}