From 7f2dc0056516449b3311603abe7cfa26a78fd462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E4=BA=91=E5=B3=B0?= Date: Fri, 16 Apr 2021 22:22:03 +0800 Subject: [PATCH] DingtalkHook polish (#6773) 1.take 'getUrl' out of inner loop for better performance 2.use try-with-resources auto close CloseableHttpClient --- .../provider/dingtalk/DingtalkHookCallback.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java index e2ce79324..0e9be6971 100644 --- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java +++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/dingtalk/DingtalkHookCallback.java @@ -76,24 +76,19 @@ public class DingtalkHookCallback implements AlarmCallback { if (this.alarmRulesWatcher.getDingtalkSettings() == null || this.alarmRulesWatcher.getDingtalkSettings().getWebhooks().isEmpty()) { return; } - CloseableHttpClient httpClient = HttpClients.custom().build(); - try { + try (CloseableHttpClient httpClient = HttpClients.custom().build()) { DingtalkSettings dingtalkSettings = this.alarmRulesWatcher.getDingtalkSettings(); dingtalkSettings.getWebhooks().forEach(webHookUrl -> { + String url = getUrl(webHookUrl); alarmMessages.forEach(alarmMessage -> { - String url = getUrl(webHookUrl); String requestBody = String.format( this.alarmRulesWatcher.getDingtalkSettings().getTextTemplate(), alarmMessage.getAlarmMessage() ); sendAlarmMessage(httpClient, url, requestBody); }); }); - } finally { - try { - httpClient.close(); - } catch (IOException e) { - log.error(e.getMessage(), e); - } + } catch (IOException e) { + log.error(e.getMessage(), e); } }