Я использую весеннюю загрузку 1.5, поэтому я пытаюсь отправить асинхронную почту, когда пользователь создает предупреждение, но это не работает, и эта ошибка отображает https://drive.google.com/open?id=1wqrF5YjCT3p9rl5wH3tVZvoPRDM6oWEA спасибо за вашу помощь, вот мой сервис
@Async
@Override
public void addedSuccess(EmployeeVO employee, TemplateType type, Map<String, String> customParams) {
String message = "alert created" ;
LocalDateTime now = LocalDateTime.now();
long countTemporaryNotification = temporaryAlertNotificationRepository
.countTemporaryAlertNotificationByEndAfterAndStartBefore(now, now);
if (countTemporaryNotification > 0){
List<TemporaryAlertNotification> temporaryAlertNotifications = temporaryAlertNotificationRepository
.findByEndAfterAndStartBefore(now,now);
if (temporaryAlertNotifications.size() > 0){
message = temporaryAlertNotifications.get(0).getMessage();
}
}
if (employee != null){
MessageTemplate messageTemplate =Optional.ofNullable(messageTemplateRepository.findByType(type))
.orElse(new MessageTemplate.Builder()
.setSujet(type.getLabel())
.setType(type)
.setMessage(message)
.build());
fillAndSend(customParams, employee, Lists.newArrayList(), messageTemplate, template );
}
}
и я переопределил службу в alertService, чтобы использовать ее
mailService.addedSuccess(employevo, TemplateType.NEW_ALERT, customParams);
и конфигурацию
@Configuration
public class MailConfig {
@Value("${alert.mail.host}")
private String host;
@Value("${alert.mail.port}")
private Integer port;
@Value("${alert.mail.username}")
private String username;
@Value("${alert.mail.password}")
private String password;
@Value("${alert.mail.properties.mail.smtp.auth}")
private String auth;
@Value("${alert.mail.properties.mail.smtp.starttls.enable}")
private String enable;
@Bean
public JavaMailSender alertMailSender() {
JavaMailSenderImpl sender = new JavaMailSenderImpl();
sender.setHost(host);
sender.setPort(port);
sender.setPassword(password);
sender.setUsername(username);
Properties javaMailProperties = new Properties();
javaMailProperties.put("mail.smtp.starttls.enable", enable);
javaMailProperties.put("mail.smtp.auth", auth);
sender.setJavaMailProperties(javaMailProperties);
return sender;
}
}