public List<Object> broadcastToKieServers(String serverTemplateId, Function<KieServicesClient, Object> operation) { List<Object> results = new ArrayList<>(); ServerTemplate serverTemplate = specManagementService.getServerTemplate(serverTemplateId); if (serverTemplate.getServerInstanceKeys() == null || serverTemplate.getServerInstanceKeys().isEmpty()) { return results; } for (ServerInstanceKey instanceUrl : serverTemplate.getServerInstanceKeys()) { try { KieServicesClient client = getClient(instanceUrl.getUrl()); Object result = operation.apply(client); results.add(result); logger.debug("KIE Server at {} returned result {} for broadcast operation {}", instanceUrl, result, operation); } catch (Exception e) { logger.debug("Unable to send breadcast to {} due to {}", instanceUrl, e.getMessage(), e); } } return results; }