diff --git a/timestamp-batch-2.0.x/pom.xml b/timestamp-batch-2.0.x/pom.xml
index 46bcf1c..7c5ef92 100644
--- a/timestamp-batch-2.0.x/pom.xml
+++ b/timestamp-batch-2.0.x/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.16
+ 2.7.18
io.spring
@@ -38,6 +38,7 @@
org.mariadb.jdbc
mariadb-java-client
[3.1.2,)
+ runtime
com.h2database
diff --git a/timestamp-batch-2.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java b/timestamp-batch-2.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
index be1b5e2..e7975c8 100644
--- a/timestamp-batch-2.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
+++ b/timestamp-batch-2.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
@@ -16,15 +16,8 @@
package io.spring.configuration;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import javax.sql.DataSource;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.configuration.annotation.BatchConfigurer;
import org.springframework.batch.core.configuration.annotation.DefaultBatchConfigurer;
@@ -39,15 +32,18 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import org.springframework.transaction.PlatformTransactionManager;
+
+import javax.sql.DataSource;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
@Configuration
@EnableConfigurationProperties({ TimestampBatchTaskProperties.class })
public class TimestampBatchTaskConfiguration {
- private static final Log logger = LogFactory.getLog(TimestampBatchTaskProperties.class);
+ private static final Logger logger = LoggerFactory.getLogger(TimestampBatchTaskProperties.class);
@Autowired
public JobBuilderFactory jobBuilderFactory;
@@ -96,7 +92,11 @@ public class TimestampBatchTaskConfiguration {
.start(stepBuilderFactory.get("job1step1")
.tasklet((contribution, chunkContext) -> {
DateFormat dateFormat = new SimpleDateFormat(config.getFormat());
- logger.info(String.format("Job1 was run with date %s", dateFormat.format(new Date())));
+ contribution.getStepExecution().getExecutionContext().put("ctx1", "exec1");
+ contribution.getStepExecution().getJobExecution().getExecutionContext().put("job-ctx1", "exec-job1");
+ logger.info("jobstep1:{}", contribution.getStepExecution().getExecutionContext());
+ logger.info("job1:{}", contribution.getStepExecution().getJobExecution().getExecutionContext());
+ logger.info("Job1 was run with date {}", dateFormat.format(new Date()));
return RepeatStatus.FINISHED;
})
.build())
@@ -108,8 +108,12 @@ public class TimestampBatchTaskConfiguration {
return jobBuilderFactory.get("job2")
.start(stepBuilderFactory.get("job2step1")
.tasklet((contribution, chunkContext) -> {
+ contribution.getStepExecution().getExecutionContext().put("ctx2", "exec2");
+ contribution.getStepExecution().getJobExecution().getExecutionContext().put("job-ctx2", "exec-job2");
+ logger.info("jobstep1:{}", contribution.getStepExecution().getExecutionContext());
+ logger.info("job2:{}", contribution.getStepExecution().getJobExecution().getExecutionContext());
DateFormat dateFormat = new SimpleDateFormat(config.getFormat());
- logger.info(String.format("Job2 was run with date %s", dateFormat.format(new Date())));
+ logger.info("Job2 was run with date {}", dateFormat.format(new Date()));
return RepeatStatus.FINISHED;
})
.build())
diff --git a/timestamp-batch-3.0.x/pom.xml b/timestamp-batch-3.0.x/pom.xml
index 1af48d2..9e7612c 100644
--- a/timestamp-batch-3.0.x/pom.xml
+++ b/timestamp-batch-3.0.x/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 3.1.4
+ 3.1.6
io.spring
diff --git a/timestamp-batch-3.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java b/timestamp-batch-3.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
index b2cebd7..11c60ad 100644
--- a/timestamp-batch-3.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
+++ b/timestamp-batch-3.0.x/src/main/java/io/spring/configuration/TimestampBatchTaskConfiguration.java
@@ -16,8 +16,8 @@
package io.spring.configuration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.configuration.support.DefaultBatchConfiguration;
@@ -28,7 +28,6 @@ import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
@@ -46,7 +45,7 @@ import java.util.Date;
@EnableConfigurationProperties({ TimestampBatchTaskProperties.class })
public class TimestampBatchTaskConfiguration extends DefaultBatchConfiguration {
- private static final Log logger = LogFactory.getLog(TimestampBatchTaskProperties.class);
+ private static final Logger logger = LoggerFactory.getLogger(TimestampBatchTaskProperties.class);
@Value("${spring.batch.jdbc.table-prefix:BATCH_}")
@@ -80,6 +79,10 @@ public class TimestampBatchTaskConfiguration extends DefaultBatchConfiguration {
private Tasklet getTasklet(String format) {
return (contribution, chunkContext) -> {
DateFormat dateFormat = new SimpleDateFormat(config.getFormat());
+ contribution.getStepExecution().getExecutionContext().put("ctx1", "exec1");
+ contribution.getStepExecution().getJobExecution().getExecutionContext().put("job-ctx1", "exec-job1");
+ logger.info("{}:{}", contribution.getStepExecution().getStepName(), contribution.getStepExecution().getExecutionContext());
+ logger.info("{}:{}", contribution.getStepExecution().getJobExecution().getJobInstance().getJobName(), contribution.getStepExecution().getJobExecution().getExecutionContext());
logger.info(String.format(format, dateFormat.format(new Date())));
return RepeatStatus.FINISHED;
};