Skip to content

Commit 5bf2932

Browse files
committed
Replace deprecated API calls
Change `JdbcLockRegistry` instantiation in `SingleInstanceTaskListener` to use the new constructor that accepts a `Duration` parameter instead of setting TTL on the lock repository. This aligns with Spring Integration's updated API where lock duration is specified at registry creation time rather than on the repository. The lock TTL value from `taskProperties.getSingleInstanceLockTtl()` is now converted to a Duration and passed directly to the `JdbcLockRegistry` constructor, maintaining the same functional behavior while using the updated API pattern. Fix JavaDoc reference in `JobInstanceEvent` to point to the correct `org.springframework.batch.core.job.JobInstance` class path after the Spring Batch 7.x package reorganization. Update test configurations to align with updated Spring Integration and Spring Batch APIs.
1 parent ef3eb49 commit 5bf2932

File tree

9 files changed

+19
-17
lines changed

9 files changed

+19
-17
lines changed

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/rabbit/AmqpItemReaderAutoConfigurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.junit.jupiter.api.Test;
2727
import org.mockito.Mockito;
2828
import org.testcontainers.containers.GenericContainer;
29-
import org.testcontainers.containers.RabbitMQContainer;
29+
import org.testcontainers.rabbitmq.RabbitMQContainer;
3030

3131
import org.springframework.amqp.core.AmqpAdmin;
3232
import org.springframework.amqp.core.AmqpTemplate;

spring-cloud-starter-single-step-batch-job/src/test/java/org/springframework/cloud/task/batch/autoconfigure/rabbit/AmqpItemWriterAutoConfigurationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.junit.jupiter.api.Test;
2828
import org.mockito.Mockito;
2929
import org.testcontainers.containers.GenericContainer;
30-
import org.testcontainers.containers.RabbitMQContainer;
30+
import org.testcontainers.rabbitmq.RabbitMQContainer;
3131

3232
import org.springframework.amqp.core.AmqpAdmin;
3333
import org.springframework.amqp.core.AmqpTemplate;

spring-cloud-task-core/src/main/java/org/springframework/cloud/task/configuration/SingleInstanceTaskListener.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.cloud.task.configuration;
1818

19+
import java.time.Duration;
20+
1921
import javax.sql.DataSource;
2022

2123
import org.apache.commons.logging.Log;
@@ -151,12 +153,11 @@ else if (applicationEvent instanceof OnFailedToAcquireMutexEvent) {
151153
private LockRegistry getDefaultLockRegistry(long executionId) {
152154
DefaultLockRepository lockRepository = new DefaultLockRepository(this.dataSource, String.valueOf(executionId));
153155
lockRepository.setPrefix(this.taskProperties.getTablePrefix());
154-
lockRepository.setTimeToLive(this.taskProperties.getSingleInstanceLockTtl());
155156
lockRepository.setApplicationContext(this.applicationContext);
156157
lockRepository.afterPropertiesSet();
157158
lockRepository.setTransactionManager(this.platformTransactionManager);
158159
lockRepository.afterSingletonsInstantiated();
159-
return new JdbcLockRegistry(lockRepository);
160+
return new JdbcLockRegistry(lockRepository, Duration.ofSeconds(this.taskProperties.getSingleInstanceLockTtl()));
160161
}
161162

162163
}

spring-cloud-task-core/src/test/java/org/springframework/cloud/task/repository/MariaDbTaskRepositoryIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import org.junit.jupiter.api.Tag;
2222
import org.junit.jupiter.api.Test;
2323
import org.mariadb.jdbc.MariaDbDataSource;
24-
import org.testcontainers.containers.MariaDBContainer;
2524
import org.testcontainers.junit.jupiter.Container;
2625
import org.testcontainers.junit.jupiter.Testcontainers;
26+
import org.testcontainers.mariadb.MariaDBContainer;
2727
import org.testcontainers.utility.DockerImageName;
2828

2929
import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
@@ -48,7 +48,7 @@ public class MariaDbTaskRepositoryIntegrationTests {
4848
* Provide a mariadb test container for tests.
4949
*/
5050
@Container
51-
public static MariaDBContainer<?> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
51+
public static MariaDBContainer mariaDBContainer = new MariaDBContainer(MARIADB_IMAGE);
5252

5353
@Test
5454
public void testTaskExplorer() {

spring-cloud-task-core/src/test/java/org/springframework/cloud/task/repository/dao/JdbcTaskExecutionDaoMariaDBIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
import org.junit.jupiter.api.Test;
3030
import org.junit.jupiter.api.extension.ExtendWith;
3131
import org.mariadb.jdbc.MariaDbDataSource;
32-
import org.testcontainers.containers.MariaDBContainer;
3332
import org.testcontainers.junit.jupiter.Container;
3433
import org.testcontainers.junit.jupiter.Testcontainers;
34+
import org.testcontainers.mariadb.MariaDBContainer;
3535
import org.testcontainers.utility.DockerImageName;
3636

3737
import org.springframework.beans.factory.annotation.Autowired;
@@ -77,7 +77,7 @@ public class JdbcTaskExecutionDaoMariaDBIntegrationTests extends BaseTaskExecuti
7777
* Provide mariadb test container for tests.
7878
*/
7979
@Container
80-
public static MariaDBContainer<?> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
80+
public static MariaDBContainer mariaDBContainer = new MariaDBContainer(MARIADB_IMAGE);
8181

8282
@Autowired
8383
TaskRepository repository;

spring-cloud-task-integration-tests/src/test/java/org/springframework/cloud/task/executionid/TaskStartTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
import org.junit.jupiter.api.AfterEach;
3232
import org.junit.jupiter.api.BeforeEach;
3333
import org.junit.jupiter.api.Test;
34-
import org.testcontainers.containers.MariaDBContainer;
3534
import org.testcontainers.junit.jupiter.Container;
3635
import org.testcontainers.junit.jupiter.Testcontainers;
36+
import org.testcontainers.mariadb.MariaDBContainer;
3737
import org.testcontainers.utility.DockerImageName;
3838

3939
import org.springframework.boot.SpringApplication;
@@ -76,7 +76,7 @@ public class TaskStartTests {
7676
* Provide mariadb test container for tests.
7777
*/
7878
@Container
79-
public static MariaDBContainer<?> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
79+
public static MariaDBContainer mariaDBContainer = new MariaDBContainer(MARIADB_IMAGE);
8080

8181
private DataSource dataSource;
8282

spring-cloud-task-integration-tests/src/test/java/org/springframework/cloud/task/initializer/TaskInitializerTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
import org.junit.jupiter.api.AfterEach;
2828
import org.junit.jupiter.api.BeforeEach;
2929
import org.junit.jupiter.api.Test;
30-
import org.testcontainers.containers.MariaDBContainer;
3130
import org.testcontainers.junit.jupiter.Container;
3231
import org.testcontainers.junit.jupiter.Testcontainers;
32+
import org.testcontainers.mariadb.MariaDBContainer;
3333
import org.testcontainers.utility.DockerImageName;
3434

3535
import org.springframework.beans.factory.annotation.Autowired;
@@ -72,7 +72,7 @@ public class TaskInitializerTests {
7272
* Provide mariadb test container for tests.
7373
*/
7474
@Container
75-
public static MariaDBContainer<?> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
75+
public static MariaDBContainer mariaDBContainer = new MariaDBContainer(MARIADB_IMAGE);
7676

7777
@AfterEach
7878
public void tearDown() {

spring-cloud-task-samples/batch-job/src/test/java/io/spring/BatchJobTestConfiguration.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,19 @@
1616

1717
package io.spring;
1818

19+
import org.testcontainers.postgresql.PostgreSQLContainer;
20+
import org.testcontainers.utility.DockerImageName;
21+
1922
import org.springframework.boot.test.context.TestConfiguration;
2023
import org.springframework.boot.testcontainers.service.connection.ServiceConnection;
2124
import org.springframework.context.annotation.Bean;
22-
import org.testcontainers.containers.PostgreSQLContainer;
23-
import org.testcontainers.utility.DockerImageName;
2425

2526
@TestConfiguration(proxyBeanMethods = false)
2627
class BatchJobTestConfiguration {
2728

2829
@Bean
2930
@ServiceConnection
30-
public PostgreSQLContainer<?> postgresSQLContainer() {
31+
public PostgreSQLContainer postgresSQLContainer() {
3132
return new PostgreSQLContainer(DockerImageName.parse("postgres:15.1"));
3233
}
3334

spring-cloud-task-stream/src/main/java/org/springframework/cloud/task/batch/listener/support/JobInstanceEvent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121

2222
/**
2323
* This is a JobInstance DTO created so that a
24-
* {@link org.springframework.batch.core.JobInstance} can be serialized into Json without
25-
* having to add mixins to an ObjectMapper.
24+
* {@link org.springframework.batch.core.job.JobInstance} can be serialized into Json
25+
* without having to add mixins to an ObjectMapper.
2626
*
2727
* @author Glenn Renfro
2828
*/

0 commit comments

Comments
 (0)