You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/09/13 09:21:45 UTC
[incubator-streampark] branch dev updated: [Improve] Sender Email takes effect immediately when the configuration is modified (#1586)
This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new 7a8383b53 [Improve] Sender Email takes effect immediately when the configuration is modified (#1586)
7a8383b53 is described below
commit 7a8383b534bfeff33cf824a9945cd38001bc95fb
Author: 1996fanrui <19...@gmail.com>
AuthorDate: Tue Sep 13 17:21:39 2022 +0800
[Improve] Sender Email takes effect immediately when the configuration is modified (#1586)
---
.../alert/impl/EmailAlertNotifyServiceImpl.java | 27 +++++++++-------------
1 file changed, 11 insertions(+), 16 deletions(-)
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/EmailAlertNotifyServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/EmailAlertNotifyServiceImpl.java
index fee3d548b..af6d9760d 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/EmailAlertNotifyServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/alert/impl/EmailAlertNotifyServiceImpl.java
@@ -37,6 +37,7 @@ import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
@Slf4j
@Service
@@ -48,8 +49,6 @@ public class EmailAlertNotifyServiceImpl implements AlertNotifyService {
@Autowired
private SettingService settingService;
- private SenderEmail senderEmail;
-
@PostConstruct
public void loadTemplateFile() throws Exception {
String template = "alert-email.ftl";
@@ -58,21 +57,17 @@ public class EmailAlertNotifyServiceImpl implements AlertNotifyService {
@Override
public boolean doAlert(AlertConfigWithParams alertConfig, AlertTemplate template) throws AlertException {
- if (this.senderEmail == null) {
- this.senderEmail = settingService.getSenderEmail();
- }
- if (this.senderEmail == null) {
- throw new AlertException("Please configure first mail sender");
- }
+ SenderEmail senderEmail = Optional.ofNullable(settingService.getSenderEmail())
+ .orElseThrow(() -> new AlertException("Please configure first mail sender"));
String contacts = alertConfig.getEmailParams() == null ? null : alertConfig.getEmailParams().getContacts();
if (!StringUtils.hasLength(contacts)) {
throw new AlertException("Please configure a valid contacts");
}
String[] emails = contacts.split(",");
- return sendEmail(template, emails);
+ return sendEmail(senderEmail, template, emails);
}
- private boolean sendEmail(AlertTemplate mail, String... mails) throws AlertException {
+ private boolean sendEmail(SenderEmail senderEmail, AlertTemplate mail, String... mails) throws AlertException {
log.info(mail.getSubject());
try {
Map<String, AlertTemplate> out = new HashMap<>(16);
@@ -81,14 +76,14 @@ public class EmailAlertNotifyServiceImpl implements AlertNotifyService {
HtmlEmail htmlEmail = new HtmlEmail();
htmlEmail.setCharset("UTF-8");
- htmlEmail.setHostName(this.senderEmail.getSmtpHost());
- htmlEmail.setAuthentication(this.senderEmail.getUserName(), this.senderEmail.getPassword());
- htmlEmail.setFrom(this.senderEmail.getFrom());
- if (this.senderEmail.isSsl()) {
+ htmlEmail.setHostName(senderEmail.getSmtpHost());
+ htmlEmail.setAuthentication(senderEmail.getUserName(), senderEmail.getPassword());
+ htmlEmail.setFrom(senderEmail.getFrom());
+ if (senderEmail.isSsl()) {
htmlEmail.setSSLOnConnect(true);
- htmlEmail.setSslSmtpPort(this.senderEmail.getSmtpPort().toString());
+ htmlEmail.setSslSmtpPort(senderEmail.getSmtpPort().toString());
} else {
- htmlEmail.setSmtpPort(this.senderEmail.getSmtpPort());
+ htmlEmail.setSmtpPort(senderEmail.getSmtpPort());
}
htmlEmail.setSubject(mail.getSubject());
htmlEmail.setHtmlMsg(html);