Skip to content

Commit 4df8da0

Browse files
authored
Merge pull request #1658 from steve-community/refactor_reduce_statefulness
reduce state in application
2 parents ee07944 + 0bf41ae commit 4df8da0

File tree

2 files changed

+3
-30
lines changed

2 files changed

+3
-30
lines changed

src/main/java/de/rwth/idsg/steve/service/MailService.java

+3-28
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.springframework.beans.factory.annotation.Autowired;
2727
import org.springframework.stereotype.Service;
2828

29-
import jakarta.annotation.PostConstruct;
3029
import jakarta.mail.Authenticator;
3130
import jakarta.mail.Message;
3231
import jakarta.mail.MessagingException;
@@ -35,11 +34,9 @@
3534
import jakarta.mail.Transport;
3635
import jakarta.mail.internet.InternetAddress;
3736
import jakarta.mail.internet.MimeMessage;
37+
3838
import java.util.Properties;
3939
import java.util.concurrent.ScheduledExecutorService;
40-
import java.util.concurrent.locks.Lock;
41-
import java.util.concurrent.locks.ReadWriteLock;
42-
import java.util.concurrent.locks.ReentrantReadWriteLock;
4340

4441
/**
4542
* @author Sevket Goekay <[email protected]>
@@ -52,31 +49,8 @@ public class MailService {
5249
@Autowired private SettingsRepository settingsRepository;
5350
@Autowired private ScheduledExecutorService executorService;
5451

55-
private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
56-
private final Lock readLock = readWriteLock.readLock();
57-
private final Lock writeLock = readWriteLock.writeLock();
58-
59-
private MailSettings settings;
60-
private Session session;
61-
62-
@PostConstruct
63-
public void loadSettingsFromDB() {
64-
writeLock.lock();
65-
try {
66-
settings = settingsRepository.getMailSettings();
67-
} finally {
68-
writeLock.unlock();
69-
}
70-
session = createSession(getSettings());
71-
}
72-
7352
public MailSettings getSettings() {
74-
readLock.lock();
75-
try {
76-
return this.settings;
77-
} finally {
78-
readLock.unlock();
79-
}
53+
return settingsRepository.getMailSettings();
8054
}
8155

8256
public void sendTestMail() {
@@ -99,6 +73,7 @@ public void sendAsync(String subject, String body) {
9973

10074
public void send(String subject, String body) throws MessagingException {
10175
MailSettings settings = getSettings();
76+
Session session = createSession(getSettings());
10277

10378
Message mail = new MimeMessage(session);
10479
mail.setSubject("[SteVe] " + subject);

src/main/java/de/rwth/idsg/steve/web/controller/AboutSettingsController.java

-2
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ public String postSettings(@Valid @ModelAttribute("settingsForm") SettingsForm s
9494
}
9595

9696
settingsRepository.update(settingsForm);
97-
mailService.loadSettingsFromDB();
9897
return "redirect:/manager/settings";
9998
}
10099

@@ -107,7 +106,6 @@ public String testMail(@Valid @ModelAttribute("settingsForm") SettingsForm setti
107106
}
108107

109108
settingsRepository.update(settingsForm);
110-
mailService.loadSettingsFromDB();
111109
mailService.sendTestMail();
112110

113111
return "redirect:/manager/settings";

0 commit comments

Comments
 (0)