JAVA-8794: Fix circular dependency issue in spring-boot-libraries-2

This commit is contained in:
Krzysiek 2021-12-15 20:08:11 +01:00
parent 6ac9d1eb87
commit 077898aaa5
2 changed files with 18 additions and 11 deletions

View File

@ -1,15 +1,11 @@
package com.baeldung; package com.baeldung;
import com.baeldung.jobrunr.service.SampleJobService; import com.baeldung.jobrunr.service.SampleJobService;
import org.jobrunr.jobs.mappers.JobMapper;
import org.jobrunr.scheduling.JobScheduler; import org.jobrunr.scheduling.JobScheduler;
import org.jobrunr.scheduling.cron.Cron; import org.jobrunr.scheduling.cron.Cron;
import org.jobrunr.storage.InMemoryStorageProvider;
import org.jobrunr.storage.StorageProvider;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@ -23,13 +19,6 @@ public class JobRunrSpringBootApp {
SpringApplication.run(JobRunrSpringBootApp.class, args); SpringApplication.run(JobRunrSpringBootApp.class, args);
} }
@Bean
public StorageProvider storageProvider(JobMapper jobMapper) {
InMemoryStorageProvider storageProvider = new InMemoryStorageProvider();
storageProvider.setJobMapper(jobMapper);
return storageProvider;
}
@PostConstruct @PostConstruct
public void scheduleRecurrently() { public void scheduleRecurrently() {
jobScheduler.<SampleJobService>scheduleRecurrently(Cron.every5minutes(), x -> x.executeSampleJob("a recurring job")); jobScheduler.<SampleJobService>scheduleRecurrently(Cron.every5minutes(), x -> x.executeSampleJob("a recurring job"));

View File

@ -0,0 +1,18 @@
package com.baeldung.config;
import org.jobrunr.jobs.mappers.JobMapper;
import org.jobrunr.storage.InMemoryStorageProvider;
import org.jobrunr.storage.StorageProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class StorageProviderConfig {
@Bean
public StorageProvider storageProvider(JobMapper jobMapper) {
InMemoryStorageProvider storageProvider = new InMemoryStorageProvider();
storageProvider.setJobMapper(jobMapper);
return storageProvider;
}
}