我怀疑使用CompletableFuture可能会导致性能问题;系统运行一段时间(3天)后,它会变慢。可能是CompletableFuture
造成的?
最后一些宁静的API会调用此方法,并从另一个在后台进行的API获取信息
private void postGetManCardInfoRunAsync(String memberToken) {
CompletableFuture.runAsync(() -> {
PostGetManCardInfoReq postGetManCardInfoReq = new PostGetManCardInfoReq();
postGetManCardInfoReq.setMemberToken(memberToken);
// http client connection
PostGetManCardInfoRsp resp = cardServiceImpl.postGetManCardInfo(postGetManCardInfoReq);
Date now = new Date();
UNYMemberToken unyMemberToken = unyMemberTokenDao.getByMemberToken(memberToken);
if (unyMemberToken != null) {
if (!resp.getCardsInfo().isEmpty()) {
if (resp.getCardInfoSize() > 0) {
List<UNYMemberCardInfo> oldCardInfo = unyMemberCardInfoDao
.findByMemberTokenGuid(unyMemberToken.getGuid());
unyMemberCardInfoDao.delete(oldCardInfo);
for (int i = 0; i < resp.getCardInfoSize(); i++) {
try {
CardInfo cardInfo = resp.getCardsInfo().get(i);
unyMemberCardInfoDao.save(unyMemberCardInfo(cardInfo));
} catch (Exception e) {
LogHelper.errorNccc(CLASSNAME, "postGetManCardInfo" + "#xxxxxxxx#", e);
}
}
}
}
}
});
}