Three replicas of one application against one PostgreSQL database, proving duplicate @Scheduled execution and then removing it with ShedLock: 24 executions where 8 were due, then 7 for 7 ticks. Also measured: @SchedulerLock without @EnableSchedulerLock does nothing and warns about nothing; spring.task.scheduling.pool.size=1 does not starve a fixedRate job but delays it and fires 35 of 40 executions in a burst; and a node whose clock is 40 seconds fast takes a live lock unless the provider uses usingDbTime().
69 lines
2.2 KiB
XML
69 lines
2.2 KiB
XML
<project xmlns="http://maven.apache.org/POM/4.0.0">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>4.1.1</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>com.ankurm</groupId>
|
|
<artifactId>scheduling</artifactId>
|
|
<version>1.0</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<properties>
|
|
<java.version>25</java.version>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<!-- ShedLock is NOT managed by spring-boot-dependencies, so this version is pinned here.
|
|
7.9.0 was read from maven-metadata.xml on Maven Central; its jars are compiled for
|
|
Java 17 (MANIFEST Java-Version: 17, class file major version 61). -->
|
|
<shedlock.version>7.9.0</shedlock.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
</dependency>
|
|
<!-- spring-boot-starter-jdbc, not a bare spring-jdbc dependency: in Boot 4 the DataSource
|
|
and JdbcTemplate auto-configuration lives in the spring-boot-jdbc module, which the
|
|
starter brings and spring-jdbc does not. -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>net.javacrumbs.shedlock</groupId>
|
|
<artifactId>shedlock-spring</artifactId>
|
|
<version>${shedlock.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.javacrumbs.shedlock</groupId>
|
|
<artifactId>shedlock-provider-jdbc-template</artifactId>
|
|
<version>${shedlock.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|