From 3d391578c8fb215506f853c094926f2af775647f Mon Sep 17 00:00:00 2001 From: Krzysiek Date: Wed, 24 Nov 2021 23:18:00 +0100 Subject: [PATCH] JAVA-8362: Switch to H2 db --- spring-batch-2/pom.xml | 5 ++- .../batchscheduler/SpringBatchScheduler.java | 36 ++----------------- .../src/main/resources/application.properties | 7 +--- .../SpringBatchSchedulerIntegrationTest.java | 2 +- 4 files changed, 6 insertions(+), 44 deletions(-) diff --git a/spring-batch-2/pom.xml b/spring-batch-2/pom.xml index 77779a0fcf..12d31aca14 100644 --- a/spring-batch-2/pom.xml +++ b/spring-batch-2/pom.xml @@ -22,9 +22,8 @@ spring-boot-starter-batch - org.hsqldb - hsqldb - runtime + com.h2database + h2 org.springframework.boot diff --git a/spring-batch-2/src/main/java/com/baeldung/batchscheduler/SpringBatchScheduler.java b/spring-batch-2/src/main/java/com/baeldung/batchscheduler/SpringBatchScheduler.java index bfaa044376..c830a41855 100644 --- a/spring-batch-2/src/main/java/com/baeldung/batchscheduler/SpringBatchScheduler.java +++ b/spring-batch-2/src/main/java/com/baeldung/batchscheduler/SpringBatchScheduler.java @@ -11,26 +11,20 @@ import org.springframework.batch.core.configuration.annotation.EnableBatchProces import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.batch.core.launch.JobLauncher; -import org.springframework.batch.core.launch.support.SimpleJobLauncher; -import org.springframework.batch.core.repository.JobRepository; -import org.springframework.batch.core.repository.support.JobRepositoryFactoryBean; import org.springframework.batch.item.ItemWriter; import org.springframework.batch.item.file.FlatFileItemReader; import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder; import org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper; -import org.springframework.batch.support.transaction.ResourcelessTransactionManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.io.ClassPathResource; -import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.scheduling.TaskScheduler; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.support.ScheduledMethodRunnable; -import javax.sql.DataSource; import java.util.Date; import java.util.IdentityHashMap; import java.util.List; @@ -113,38 +107,12 @@ public class SpringBatchScheduler { @Bean public Job job() { - return jobBuilderFactory.get("job") + return jobBuilderFactory + .get("job") .start(readBooks()) .build(); } -// @Bean -// public JobLauncher jobLauncher() throws Exception { -// SimpleJobLauncher jobLauncher = new SimpleJobLauncher(); -// jobLauncher.setJobRepository(jobRepository()); -// jobLauncher.afterPropertiesSet(); -// return jobLauncher; -// } - -// @Bean -// public JobRepository jobRepository() throws Exception { -// JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean(); -// factory.setDataSource(dataSource()); -// factory.setDatabaseType("HSQL"); -// factory.setTransactionManager(new ResourcelessTransactionManager()); -// return factory.getObject(); -// } - -// @Bean -// public DataSource dataSource() { -// DriverManagerDataSource dataSource = new DriverManagerDataSource(); -// dataSource.setDriverClassName("org.hsqldb.jdbc.JDBCDriver"); -// dataSource.setUrl("jdbc:hsqldb:mem:testdb"); -// dataSource.setUsername("sa"); -// dataSource.setPassword(""); -// return dataSource; -// } - @Bean protected Step readBooks() { return stepBuilderFactory.get("readBooks") diff --git a/spring-batch-2/src/main/resources/application.properties b/spring-batch-2/src/main/resources/application.properties index 5b34d9e93b..8d21bbe1c0 100644 --- a/spring-batch-2/src/main/resources/application.properties +++ b/spring-batch-2/src/main/resources/application.properties @@ -1,8 +1,3 @@ -spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver -spring.datasource.url=jdbc:hsqldb:mem:testdb;DB_CLOSE_DELAY=-1;hsqldb.tx=mvcc -spring.datasource.username=sa -spring.datasource.password= - -spring.batch.jdbc.initialize-schema=always +#spring.batch.jdbc.initialize-schema=embedded file.input=coffee-list.csv \ No newline at end of file diff --git a/spring-batch-2/src/test/java/com/baeldung/batchscheduler/SpringBatchSchedulerIntegrationTest.java b/spring-batch-2/src/test/java/com/baeldung/batchscheduler/SpringBatchSchedulerIntegrationTest.java index 64a414fdbf..61e5a1dd74 100644 --- a/spring-batch-2/src/test/java/com/baeldung/batchscheduler/SpringBatchSchedulerIntegrationTest.java +++ b/spring-batch-2/src/test/java/com/baeldung/batchscheduler/SpringBatchSchedulerIntegrationTest.java @@ -29,7 +29,7 @@ public class SpringBatchSchedulerIntegrationTest { private ApplicationContext context; @Test - public void stopJobsWhenSchedulerDisabled() throws Exception { + public void stopJobsWhenSchedulerDisabled() { SpringBatchScheduler schedulerBean = context.getBean(SpringBatchScheduler.class); await().untilAsserted(() -> Assert.assertEquals(2, schedulerBean.getBatchRunCounter() .get()));