FINERACT-2181: Upgrade Spring-boot version (#4477)
This commit is contained in:
+1
-1
@@ -97,7 +97,7 @@ plugins {
|
||||
id 'com.github.hierynomus.license' version '0.16.1' apply false
|
||||
id 'com.github.jk1.dependency-license-report' version '2.9' apply false
|
||||
id 'org.zeroturnaround.gradle.jrebel' version '1.2.0' apply false
|
||||
id 'org.springframework.boot' version '3.3.5' apply false
|
||||
id 'org.springframework.boot' version '3.4.3' apply false
|
||||
id 'net.ltgt.errorprone' version '4.1.0' apply false
|
||||
id 'io.swagger.core.v3.swagger-gradle-plugin' version '2.2.23' apply false
|
||||
id 'com.gorylenko.gradle-git-properties' version '2.4.2' apply false
|
||||
|
||||
@@ -26,7 +26,7 @@ dependencyManagement {
|
||||
mavenBom 'org.slf4j:slf4j-bom:2.0.17'
|
||||
mavenBom 'io.micrometer:micrometer-bom:1.13.6'
|
||||
mavenBom 'org.springframework:spring-framework-bom:6.1.14'
|
||||
mavenBom 'org.springframework.boot:spring-boot-dependencies:3.3.5'
|
||||
mavenBom 'org.springframework.boot:spring-boot-dependencies:3.4.3'
|
||||
mavenBom 'io.awspring.cloud:spring-cloud-aws-dependencies:3.2.1'
|
||||
mavenBom 'io.opentelemetry:opentelemetry-bom:1.44.1'
|
||||
mavenBom 'org.jetbrains.kotlin:kotlin-bom:2.0.21'
|
||||
|
||||
+8
-10
@@ -22,7 +22,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
||||
import com.fasterxml.jackson.databind.MapperFeature;
|
||||
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.apache.fineract.infrastructure.core.jersey.converter.JsonConverter;
|
||||
@@ -31,23 +31,21 @@ import org.apache.fineract.infrastructure.core.jersey.serializer.JacksonSerializ
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
||||
|
||||
@Configuration
|
||||
public class JerseyJacksonConverterConfig {
|
||||
|
||||
@Bean
|
||||
public MappingJackson2HttpMessageConverter jacksonHttpConverter(List<JsonSerializer<?>> serializers,
|
||||
List<JsonDeserializer<?>> deserializers, List<JsonConverter<?>> jsonConverters) {
|
||||
public ObjectMapper objectMapper(List<JsonSerializer<?>> serializers, List<JsonDeserializer<?>> deserializers,
|
||||
List<JsonConverter<?>> jsonConverters) {
|
||||
// Merge JsonConverters with serializers and deserializers
|
||||
List<JsonSerializer<?>> mergedSerializers = new ArrayList<>(serializers);
|
||||
mergedSerializers.addAll(jsonConverters.stream().map(JacksonSerializerAdapter::new).toList());
|
||||
|
||||
List<JsonDeserializer<?>> mergedDeserializers = new ArrayList<>(deserializers);
|
||||
mergedDeserializers.addAll(jsonConverters.stream().map(JacksonDeserializerAdapter::new).toList());
|
||||
|
||||
return new MappingJackson2HttpMessageConverter(new Jackson2ObjectMapperBuilder().indentOutput(true)
|
||||
.serializers(mergedSerializers.toArray(new JsonSerializer[0]))
|
||||
.deserializers(mergedDeserializers.toArray(new JsonDeserializer[0])).serializationInclusion(JsonInclude.Include.NON_NULL)
|
||||
.featuresToEnable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS).modulesToInstall(new ParameterNamesModule()).build());
|
||||
return new Jackson2ObjectMapperBuilder().serializers(mergedSerializers.toArray(new JsonSerializer[0]))
|
||||
.serializationInclusion(JsonInclude.Include.NON_NULL).deserializers(mergedDeserializers.toArray(new JsonDeserializer[0]))
|
||||
.featuresToDisable(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
|
||||
.featuresToEnable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS).build();
|
||||
}
|
||||
}
|
||||
|
||||
+13
-11
@@ -22,19 +22,19 @@ import static org.apache.commons.lang3.StringUtils.isNotBlank;
|
||||
|
||||
import com.google.common.base.Joiner;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import javax.sql.DataSource;
|
||||
import org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties;
|
||||
import org.springframework.core.io.ResourceLoader;
|
||||
|
||||
public class ExtendedSpringLiquibaseBuilder {
|
||||
|
||||
private final Set<String> contexts = new HashSet<>();
|
||||
private final List<String> contexts = new ArrayList<>();
|
||||
private final Map<String, String> changeLogParameters = new HashMap<>();
|
||||
private final boolean clearCheckSums;
|
||||
private final String liquibaseSchema;
|
||||
@@ -42,14 +42,14 @@ public class ExtendedSpringLiquibaseBuilder {
|
||||
private final String databaseChangeLogTable;
|
||||
private final String databaseChangeLogLockTable;
|
||||
private final boolean shouldRun;
|
||||
private final String labelFilter;
|
||||
private final List<String> labelFilter = new ArrayList<>();
|
||||
private final File rollbackFile;
|
||||
private final boolean testRollbackOnUpdate;
|
||||
private final String tag;
|
||||
private String changeLog;
|
||||
private final String changeLog;
|
||||
private ResourceLoader resourceLoader;
|
||||
private String defaultSchema;
|
||||
private boolean dropFirst;
|
||||
private final String defaultSchema;
|
||||
private final boolean dropFirst;
|
||||
private DataSource dataSource;
|
||||
|
||||
public ExtendedSpringLiquibaseBuilder(LiquibaseProperties liquibaseProperties) {
|
||||
@@ -59,8 +59,8 @@ public class ExtendedSpringLiquibaseBuilder {
|
||||
this.changeLogParameters.putAll(liquibaseProperties.getParameters());
|
||||
}
|
||||
this.changeLog = liquibaseProperties.getChangeLog();
|
||||
if (isNotBlank(liquibaseProperties.getContexts())) {
|
||||
this.contexts.add(liquibaseProperties.getContexts());
|
||||
if (liquibaseProperties.getContexts() != null) {
|
||||
this.contexts.addAll(liquibaseProperties.getContexts());
|
||||
}
|
||||
this.clearCheckSums = liquibaseProperties.isClearChecksums();
|
||||
this.liquibaseSchema = liquibaseProperties.getLiquibaseSchema();
|
||||
@@ -68,7 +68,9 @@ public class ExtendedSpringLiquibaseBuilder {
|
||||
this.databaseChangeLogTable = liquibaseProperties.getDatabaseChangeLogTable();
|
||||
this.databaseChangeLogLockTable = liquibaseProperties.getDatabaseChangeLogLockTable();
|
||||
this.shouldRun = liquibaseProperties.isEnabled();
|
||||
this.labelFilter = liquibaseProperties.getLabelFilter();
|
||||
if (liquibaseProperties.getContexts() != null) {
|
||||
this.contexts.addAll(liquibaseProperties.getLabelFilter());
|
||||
}
|
||||
this.rollbackFile = liquibaseProperties.getRollbackFile();
|
||||
this.testRollbackOnUpdate = liquibaseProperties.isTestRollbackOnUpdate();
|
||||
this.tag = liquibaseProperties.getTag();
|
||||
@@ -116,7 +118,7 @@ public class ExtendedSpringLiquibaseBuilder {
|
||||
result.setDatabaseChangeLogTable(databaseChangeLogTable);
|
||||
result.setDatabaseChangeLogLockTable(databaseChangeLogLockTable);
|
||||
result.setShouldRun(shouldRun);
|
||||
result.setLabelFilter(labelFilter);
|
||||
result.setLabelFilter(Joiner.on(",").join(labelFilter));
|
||||
result.setRollbackFile(rollbackFile);
|
||||
result.setTestRollbackOnUpdate(testRollbackOnUpdate);
|
||||
result.setTag(tag);
|
||||
|
||||
+7
-14
@@ -23,9 +23,7 @@ import org.apache.fineract.infrastructure.core.persistence.ExtendedJpaTransactio
|
||||
import org.apache.fineract.infrastructure.core.persistence.TransactionLifecycleCallback;
|
||||
import org.apache.fineract.infrastructure.core.service.database.RoutingDataSource;
|
||||
import org.apache.fineract.infrastructure.jobs.config.FineractDataFieldMaxValueIncrementerFactory;
|
||||
import org.springframework.batch.core.configuration.JobRegistry;
|
||||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
|
||||
import org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor;
|
||||
import org.springframework.batch.core.explore.JobExplorer;
|
||||
import org.springframework.batch.core.explore.support.JobExplorerFactoryBean;
|
||||
import org.springframework.batch.core.launch.support.TaskExecutorJobLauncher;
|
||||
@@ -66,24 +64,26 @@ public class ScheduledJobRunnerConfig {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public JobRepository jobRepository(RoutingDataSource routingDataSource, PlatformTransactionManager transactionManager)
|
||||
public JobRepository jobRepository(RoutingDataSource routingDataSource, PlatformTransactionManager transactionManager,
|
||||
Jackson2ExecutionContextStringSerializer executionContextSerializer, DataFieldMaxValueIncrementerFactory incrementerFactory)
|
||||
throws Exception {
|
||||
JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
|
||||
factory.setDataSource(routingDataSource);
|
||||
factory.setTransactionManager(transactionManager);
|
||||
factory.setIsolationLevelForCreate("ISOLATION_READ_COMMITTED");
|
||||
factory.setSerializer(executionContextSerializer());
|
||||
factory.setIncrementerFactory(incrementerFactory(routingDataSource));
|
||||
factory.setSerializer(executionContextSerializer);
|
||||
factory.setIncrementerFactory(incrementerFactory);
|
||||
factory.afterPropertiesSet();
|
||||
return factory.getObject();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public JobExplorer jobExplorer(RoutingDataSource routingDataSource, PlatformTransactionManager transactionManager) throws Exception {
|
||||
public JobExplorer jobExplorer(RoutingDataSource routingDataSource, PlatformTransactionManager transactionManager,
|
||||
Jackson2ExecutionContextStringSerializer executionContextSerializer) throws Exception {
|
||||
JobExplorerFactoryBean jobExplorerFactoryBean = new JobExplorerFactoryBean();
|
||||
jobExplorerFactoryBean.setDataSource(routingDataSource);
|
||||
jobExplorerFactoryBean.setTransactionManager(transactionManager);
|
||||
jobExplorerFactoryBean.setSerializer(executionContextSerializer());
|
||||
jobExplorerFactoryBean.setSerializer(executionContextSerializer);
|
||||
jobExplorerFactoryBean.afterPropertiesSet();
|
||||
return jobExplorerFactoryBean.getObject();
|
||||
}
|
||||
@@ -95,11 +95,4 @@ public class ScheduledJobRunnerConfig {
|
||||
launcher.afterPropertiesSet();
|
||||
return launcher;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public JobRegistryBeanPostProcessor jobRegistryBeanPostProcessor(JobRegistry jobRegistry) {
|
||||
final JobRegistryBeanPostProcessor postProcessor = new JobRegistryBeanPostProcessor();
|
||||
postProcessor.setJobRegistry(jobRegistry);
|
||||
return postProcessor;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user