Skip to content

Commit 814ab38

Browse files
committed
Choose Bean from Multiple Implementation in Spring Boot
1 parent 6f2fff6 commit 814ab38

File tree

75 files changed

+2201
-34
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2201
-34
lines changed

quartz-scheduler/src/main/java/com/stacktips/app/config/QuartzConfig.java

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
import org.springframework.context.annotation.Bean;
66
import org.springframework.context.annotation.Configuration;
77

8+
import java.time.LocalDateTime;
9+
import java.time.ZoneId;
10+
import java.util.Date;
11+
812
@Configuration
913
public class QuartzConfig {
1014

@@ -27,23 +31,23 @@ public Trigger csvImportJobTrigger(JobDetail csvImportJob) {
2731
}
2832

2933

30-
/*
31-
// Commented out in favour of Cron based trigger
3234

33-
@Bean
34-
public Trigger csvImportJobTrigger(JobDetail csvImportJob) {
35-
Date afterFiveSeconds = Date.from(LocalDateTime.now().plusSeconds(5)
36-
.atZone(ZoneId.systemDefault()).toInstant());
35+
// Commented out in favour of Cron based trigger
3736

38-
return TriggerBuilder.newTrigger()
39-
.forJob(csvImportJob)
40-
.startAt(afterFiveSeconds)
41-
.withIdentity("simpleTrigger")
42-
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
43-
.withIntervalInSeconds(60)
44-
.repeatForever())
45-
.build();
46-
}*/
37+
// @Bean
38+
// public Trigger csvImportJobTrigger(JobDetail csvImportJob) {
39+
// Date afterFiveSeconds = Date.from(LocalDateTime.now().plusSeconds(5)
40+
// .atZone(ZoneId.systemDefault()).toInstant());
41+
//
42+
// return TriggerBuilder.newTrigger()
43+
// .forJob(csvImportJob)
44+
// .startAt(afterFiveSeconds)
45+
// .withIdentity("simpleTrigger")
46+
// .withSchedule(SimpleScheduleBuilder.simpleSchedule()
47+
// .withIntervalInSeconds(60)
48+
// .repeatForever())
49+
// .build();
50+
// }
4751

4852

4953
}

quartz-scheduler/src/main/java/com/stacktips/app/model/Book.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@ public record Book(
1111
String languageCode,
1212
Double averageRating,
1313
String imageUrl) {
14-
}
14+
}

quartz-scheduler/src/main/java/com/stacktips/app/service/QuartzJobService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.stacktips.app.tasks.CsvImportInterruptableJob;
44
import org.quartz.*;
5+
import org.springframework.beans.factory.annotation.Autowired;
56
import org.springframework.stereotype.Service;
67

78
@Service

quartz-scheduler/src/main/java/com/stacktips/app/tasks/CsvImportJob.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public CsvImportJob(ImportService importService) {
2424
public void execute(JobExecutionContext context) throws JobExecutionException {
2525
try {
2626
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
27-
String param = dataMap.getString("param");
27+
String param = dataMap.getString("arg1");
2828

2929
log.info("CsvImportJob started with param: {}", param);
3030
importService.readBooks();
61.9 KB
Binary file not shown.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists

run-on-startup/gradlew

Lines changed: 18 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

run-on-startup/gradlew.bat

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

run-on-startup/src/main/java/com/stacktips/MyApplication.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import lombok.extern.slf4j.Slf4j;
44
import org.springframework.boot.SpringApplication;
55
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
import org.springframework.scheduling.annotation.EnableScheduling;
67

78
import javax.annotation.PostConstruct;
89

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.stacktips;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.scheduling.annotation.EnableScheduling;
6+
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
7+
8+
@Configuration
9+
@EnableScheduling
10+
public class SchedulerConfig {
11+
12+
13+
@Bean
14+
public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
15+
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
16+
threadPoolTaskScheduler.setPoolSize(5);
17+
return threadPoolTaskScheduler;
18+
}
19+
20+
}

0 commit comments

Comments
 (0)