Skip to content

Commit bb5eeb5

Browse files
committed
feat: spring boot 4
1 parent 42a4ffb commit bb5eeb5

4 files changed

Lines changed: 60 additions & 51 deletions

File tree

soap-to-db/pom.xml

Lines changed: 50 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<parent>
1616
<groupId>org.springframework.boot</groupId>
1717
<artifactId>spring-boot-starter-parent</artifactId>
18-
<version>3.5.0</version>
18+
<version>4.0.0</version>
1919
<relativePath/> <!-- lookup parent from repository -->
2020
</parent>
2121
<groupId>de.xxx</groupId>
@@ -37,25 +37,56 @@
3737
<url/>
3838
</scm>
3939
<properties>
40-
<java.version>21</java.version>
40+
<java.version>24</java.version>
4141
</properties>
4242
<dependencies>
43-
<dependency>
44-
<groupId>org.springframework.boot</groupId>
45-
<artifactId>spring-boot-starter-actuator</artifactId>
46-
</dependency>
47-
<dependency>
48-
<groupId>org.springframework.boot</groupId>
49-
<artifactId>spring-boot-starter-data-jpa</artifactId>
50-
</dependency>
51-
<dependency>
52-
<groupId>org.springframework.boot</groupId>
53-
<artifactId>spring-boot-starter-web</artifactId>
54-
</dependency>
55-
<dependency>
56-
<groupId>org.springframework.boot</groupId>
57-
<artifactId>spring-boot-starter-web-services</artifactId>
58-
</dependency>
43+
<dependency>
44+
<groupId>org.springframework.boot</groupId>
45+
<artifactId>spring-boot-starter-actuator</artifactId>
46+
</dependency>
47+
<dependency>
48+
<groupId>org.springframework.boot</groupId>
49+
<artifactId>spring-boot-starter-data-jpa</artifactId>
50+
</dependency>
51+
<dependency>
52+
<groupId>org.springframework.boot</groupId>
53+
<artifactId>spring-boot-starter-kafka</artifactId>
54+
</dependency>
55+
<dependency>
56+
<groupId>org.springframework.boot</groupId>
57+
<artifactId>spring-boot-starter-webmvc</artifactId>
58+
</dependency>
59+
<dependency>
60+
<groupId>org.springframework.boot</groupId>
61+
<artifactId>spring-boot-starter-webservices</artifactId>
62+
</dependency>
63+
64+
<dependency>
65+
<groupId>org.springframework.boot</groupId>
66+
<artifactId>spring-boot-starter-actuator-test</artifactId>
67+
<scope>test</scope>
68+
</dependency>
69+
<dependency>
70+
<groupId>org.springframework.boot</groupId>
71+
<artifactId>spring-boot-starter-data-jpa-test</artifactId>
72+
<scope>test</scope>
73+
</dependency>
74+
<dependency>
75+
<groupId>org.springframework.boot</groupId>
76+
<artifactId>spring-boot-starter-kafka-test</artifactId>
77+
<scope>test</scope>
78+
</dependency>
79+
<dependency>
80+
<groupId>org.springframework.boot</groupId>
81+
<artifactId>spring-boot-starter-webmvc-test</artifactId>
82+
<scope>test</scope>
83+
</dependency>
84+
<dependency>
85+
<groupId>org.springframework.boot</groupId>
86+
<artifactId>spring-boot-starter-webservices-test</artifactId>
87+
<scope>test</scope>
88+
</dependency>
89+
<!--
5990
<dependency>
6091
<groupId>wsdl4j</groupId>
6192
<artifactId>wsdl4j</artifactId>
@@ -69,17 +100,7 @@
69100
<artifactId>postgresql</artifactId>
70101
<scope>runtime</scope>
71102
</dependency>
72-
73-
<dependency>
74-
<groupId>org.springframework.boot</groupId>
75-
<artifactId>spring-boot-starter-test</artifactId>
76-
<scope>test</scope>
77-
</dependency>
78-
<dependency>
79-
<groupId>org.springframework.kafka</groupId>
80-
<artifactId>spring-kafka-test</artifactId>
81-
<scope>test</scope>
82-
</dependency>
103+
-->
83104
</dependencies>
84105

85106
<build>

soap-to-db/src/main/java/de/xxx/soaptodb/kafka/KafkaConsumer.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@
1212
*/
1313
package de.xxx.soaptodb.kafka;
1414

15-
import com.fasterxml.jackson.core.JsonProcessingException;
16-
import com.fasterxml.jackson.databind.ObjectMapper;
1715
import de.xxx.soaptodb.model.CountryDto;
1816
import de.xxx.soaptodb.model.KafkaEventDto;
1917
import de.xxx.soaptodb.sink.CountrySinkService;
2018
import jakarta.transaction.Transactional;
2119
import org.slf4j.Logger;
2220
import org.slf4j.LoggerFactory;
21+
import org.springframework.kafka.annotation.BackOff;
2322
import org.springframework.kafka.annotation.DltHandler;
2423
import org.springframework.kafka.annotation.KafkaListener;
2524
import org.springframework.kafka.annotation.RetryableTopic;
@@ -28,8 +27,8 @@
2827
import org.springframework.kafka.support.KafkaHeaders;
2928
import org.springframework.kafka.support.SendResult;
3029
import org.springframework.messaging.handler.annotation.Header;
31-
import org.springframework.retry.annotation.Backoff;
3230
import org.springframework.stereotype.Component;
31+
import tools.jackson.databind.json.JsonMapper;
3332

3433
import java.util.UUID;
3534
import java.util.concurrent.CompletableFuture;
@@ -41,17 +40,17 @@
4140
@Transactional
4241
public class KafkaConsumer {
4342
private static final Logger LOGGER = LoggerFactory.getLogger(KafkaConsumer.class);
44-
private final ObjectMapper objectMapper;
43+
private final JsonMapper objectMapper;
4544
private final CountrySinkService countrySinkService;
4645
private final KafkaTemplate<String,String> kafkaTemplate;
4746

48-
public KafkaConsumer(ObjectMapper objectMapper, CountrySinkService countrySinkService, KafkaTemplate<String,String> kafkaTemplate) {
47+
public KafkaConsumer(JsonMapper objectMapper, CountrySinkService countrySinkService, KafkaTemplate<String,String> kafkaTemplate) {
4948
this.objectMapper = objectMapper;
5049
this.countrySinkService = countrySinkService;
5150
this.kafkaTemplate = kafkaTemplate;
5251
}
5352

54-
@RetryableTopic(kafkaTemplate = "kafkaRetryTemplate", attempts = "3", backoff = @Backoff(delay = 1000, multiplier = 2.0),
53+
@RetryableTopic(kafkaTemplate = "kafkaRetryTemplate", attempts = "3", backOff = @BackOff(delay = 1000, multiplier = 2.0),
5554
autoCreateTopics = "true", topicSuffixingStrategy = TopicSuffixingStrategy.SUFFIX_WITH_INDEX_VALUE)
5655
@KafkaListener(topics = KafkaConfig.COUNTRY_TOPIC)
5756
public void consumerForCountryTopic(String message) {
@@ -75,7 +74,7 @@ private boolean sendToDefaultDlt(KafkaEventDto dto) {
7574
CompletableFuture<SendResult<String, String>> listenableFuture = this.kafkaTemplate
7675
.send(KafkaConfig.DEFAULT_DLT_TOPIC, UUID.randomUUID().toString(), this.objectMapper.writeValueAsString(dto));
7776
listenableFuture.get(3, TimeUnit.SECONDS);
78-
} catch (InterruptedException | ExecutionException | TimeoutException | JsonProcessingException e) {
77+
} catch (InterruptedException | ExecutionException | TimeoutException e) {
7978
throw new RuntimeException(e);
8079
}
8180
LOGGER.info("Message send to {}. {}", KafkaConfig.DEFAULT_DLT_TOPIC, dto.toString());

soap-to-db/src/main/java/de/xxx/soaptodb/kafka/KafkaProducer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
*/
1313
package de.xxx.soaptodb.kafka;
1414

15-
import com.fasterxml.jackson.databind.ObjectMapper;
1615
import de.xxx.soaptodb.model.CountryDto;
1716
import org.apache.kafka.clients.admin.AdminClient;
1817
import org.slf4j.Logger;
1918
import org.slf4j.LoggerFactory;
2019
import org.springframework.kafka.core.KafkaTemplate;
2120
import org.springframework.kafka.support.SendResult;
2221
import org.springframework.stereotype.Component;
22+
import tools.jackson.databind.json.JsonMapper;
2323

2424
import java.util.concurrent.CompletableFuture;
2525
import java.util.concurrent.TimeUnit;
@@ -28,10 +28,10 @@
2828
public class KafkaProducer {
2929
private static final Logger LOGGER = LoggerFactory.getLogger(KafkaProducer.class);
3030
private final KafkaTemplate<String, String> kafkaTemplate;
31-
private final ObjectMapper objectMapper;
31+
private final JsonMapper objectMapper;
3232
private final AdminClient adminClient;
3333

34-
public KafkaProducer(KafkaTemplate<String, String> kafkaTemplate, AdminClient adminClient, ObjectMapper objectMapper) {
34+
public KafkaProducer(KafkaTemplate<String, String> kafkaTemplate, AdminClient adminClient, JsonMapper objectMapper) {
3535
this.adminClient = adminClient;
3636
this.kafkaTemplate = kafkaTemplate;
3737
this.objectMapper = objectMapper;

soap-to-db/src/main/java/de/xxx/soaptodb/source/WebServiceConfig.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,20 @@
1212
*/
1313
package de.xxx.soaptodb.source;
1414

15-
import com.fasterxml.jackson.databind.ObjectMapper;
16-
import com.fasterxml.jackson.databind.SerializationFeature;
17-
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
1815
import org.springframework.boot.web.servlet.ServletRegistrationBean;
1916
import org.springframework.context.ApplicationContext;
2017
import org.springframework.context.annotation.Bean;
2118
import org.springframework.context.annotation.Configuration;
2219
import org.springframework.core.io.ClassPathResource;
2320
import org.springframework.ws.config.annotation.EnableWs;
24-
import org.springframework.ws.config.annotation.WsConfigurerAdapter;
2521
import org.springframework.ws.transport.http.MessageDispatcherServlet;
2622
import org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition;
2723
import org.springframework.xml.xsd.SimpleXsdSchema;
2824
import org.springframework.xml.xsd.XsdSchema;
2925

3026
@EnableWs
3127
@Configuration
32-
public class WebServiceConfig extends WsConfigurerAdapter {
33-
@Bean
34-
public ObjectMapper createObjectMapper() {
35-
ObjectMapper mapper = new ObjectMapper();
36-
mapper.registerModule(new JavaTimeModule());
37-
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
38-
return mapper;
39-
}
28+
public class WebServiceConfig {
4029

4130
@Bean
4231
public ServletRegistrationBean<MessageDispatcherServlet> messageDispatcherServlet(ApplicationContext applicationContext) {

0 commit comments

Comments
 (0)