Skip to content

Commit 0c3759c

Browse files
committed
Refactor SayTextHandler and MessageSchedulerServiceImpl to accept TaskScheduler as a constructor parameter for improved task scheduling management.
1 parent ec43c36 commit 0c3759c

3 files changed

Lines changed: 8 additions & 9 deletions

File tree

src/main/java/ru/javazen/telegram/bot/AppConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,8 @@ VoiceService voiceService(FileServiceClient fileServiceClient, AmazonPolly amazo
166166

167167
@Bean
168168
@Profile("say-text")
169-
SayTextHandler sayTextHandler(VoiceService voiceService) {
170-
return new SayTextHandler(voiceService);
169+
SayTextHandler sayTextHandler(VoiceService voiceService, TaskScheduler taskScheduler) {
170+
return new SayTextHandler(voiceService, taskScheduler);
171171
}
172172

173173
@Bean("sayTextHandler")

src/main/java/ru/javazen/telegram/bot/handler/SayTextHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import lombok.extern.slf4j.Slf4j;
55
import org.apache.commons.lang3.RandomStringUtils;
66
import org.springframework.scheduling.TaskScheduler;
7-
import org.springframework.scheduling.concurrent.DefaultManagedTaskScheduler;
87
import org.telegram.telegrambots.meta.api.methods.AnswerInlineQuery;
98
import org.telegram.telegrambots.meta.api.objects.inlinequery.InlineQuery;
109
import org.telegram.telegrambots.meta.api.objects.inlinequery.result.InlineQueryResultVoice;
@@ -25,11 +24,12 @@ public class SayTextHandler implements InlineQueryHandler {
2524
private static final int RANDOM_LENGTH = 10;
2625

2726
private final VoiceService voiceService;
28-
private TaskScheduler taskScheduler = new DefaultManagedTaskScheduler();
27+
private final TaskScheduler taskScheduler;
2928
private HashMap<Long, String> queries = new HashMap<>();
3029

31-
public SayTextHandler(VoiceService voiceService) {
30+
public SayTextHandler(VoiceService voiceService, TaskScheduler taskScheduler) {
3231
this.voiceService = voiceService;
32+
this.taskScheduler = taskScheduler;
3333
}
3434

3535
@Override

src/main/java/ru/javazen/telegram/bot/scheduler/service/MessageSchedulerServiceImpl.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import org.springframework.beans.factory.annotation.Autowired;
55
import org.springframework.context.annotation.Lazy;
66
import org.springframework.scheduling.TaskScheduler;
7-
import org.springframework.scheduling.concurrent.DefaultManagedTaskScheduler;
87
import org.springframework.stereotype.Service;
98
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
109
import org.telegram.telegrambots.meta.bots.AbsSender;
@@ -36,8 +35,7 @@
3635
@Slf4j
3736
public class MessageSchedulerServiceImpl implements MessageSchedulerService {
3837

39-
private TaskScheduler taskScheduler = new DefaultManagedTaskScheduler();
40-
38+
private final TaskScheduler taskScheduler;
4139
private Map<Long, FutureTask> futureTasks = new HashMap<>();
4240

4341
private final MessageTaskRepository messageTaskRepository;
@@ -47,8 +45,9 @@ public class MessageSchedulerServiceImpl implements MessageSchedulerService {
4745
private UserEntityRepository userEntityRepository;
4846
private ChatConfigService chatConfigService;
4947

50-
public MessageSchedulerServiceImpl(MessageTaskRepository messageTaskRepository) {
48+
public MessageSchedulerServiceImpl(MessageTaskRepository messageTaskRepository, TaskScheduler taskScheduler) {
5149
this.messageTaskRepository = messageTaskRepository;
50+
this.taskScheduler = taskScheduler;
5251
}
5352

5453
@Autowired

0 commit comments

Comments
 (0)