Есть асинхронная конструкция. Я хотел бы продолжить обработку после чтения из базы данных здесь. Я попытался использовать цикл while, как показано ниже, но этого не произошло. Бесконечный цикл. Если нет цикла while, он асинхронный, но у меня он не работает.
private XmlOperations fetchAttributeFromDB(RequestContext context,
XmlOperations invCnclAttributes,String orderId) {
String strSQL = "select bankStan,bankBatch,provBank from transactionHistory where orderId='"+orderId+"' limit 1";
DBClientService dbClientService = DBClientService.getService(context);
try {
Future<List<JsonArray>> futureHistory = dbClientService.ExecuteQuery(strSQL);
futureHistory.setHandler(sqlResult -> {
List<JsonArray> result = futureHistory.result();
invCnclAttributes.addAttribute("bankStan", result.get(0).getString(0));
invCnclAttributes.addAttribute("bankBatch", result.get(0).getString(1));
invCnclAttributes.addAttribute("provBank", result.get(0).getString(2));
futureHistory.complete();
});
while(!futureHistory.isComplete());
}catch(Exception e){
e.printStackTrace();
}
return invCnclAttributes;
}