This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git
The following commit(s) were added to refs/heads/main by this push:
new c51c0ffab [incubator-kie-issues#2326] Provide correct `Jackson 2`
integration for all Spring Boot based KIE modules (#2340)
c51c0ffab is described below
commit c51c0ffabc8ee774b607de2cd303db3bc38af41c
Author: Pere Fernández <[email protected]>
AuthorDate: Fri May 29 11:34:21 2026 +0200
[incubator-kie-issues#2326] Provide correct `Jackson 2` integration for all
Spring Boot based KIE modules (#2340)
* [incubator-kie-issues#2326] Provide correct Jackson 2 integration for all
Spring Boot based KIE modules
- Remove unnecessary Jackson 2 overrides
* - include `jackson2` config for testing
`kogito-addons-springboot-data-audit`
---
.../kogito-addons-springboot-data-audit/pom.xml | 6 ++++
.../SpringbootAuditDataConfiguration.java | 32 ----------------------
.../src/test/resources/application.properties | 6 +++-
3 files changed, 11 insertions(+), 33 deletions(-)
diff --git
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/pom.xml
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/pom.xml
index e4e2f652d..05fd11363 100644
---
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/pom.xml
+++
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/pom.xml
@@ -89,6 +89,12 @@
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
+ <!-- Required dependency to integrate Jackson 2 in Spring Boot 4.
Remove together with https://github.com/apache/incubator-kie-drools/issues/6702
(Jackson 3 migration) -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-jackson2</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
diff --git
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/main/java/org/kie/kogito/app/audit/springboot/SpringbootAuditDataConfiguration.java
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/main/java/org/kie/kogito/app/audit/springboot/SpringbootAuditDataConfiguration.java
index a9408a145..07f792e81 100644
---
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/main/java/org/kie/kogito/app/audit/springboot/SpringbootAuditDataConfiguration.java
+++
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/main/java/org/kie/kogito/app/audit/springboot/SpringbootAuditDataConfiguration.java
@@ -21,47 +21,15 @@ package org.kie.kogito.app.audit.springboot;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
-import
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
public class SpringbootAuditDataConfiguration {
- // Jackson 2 @Bean for the data-audit addon. Remove together with
- // https://github.com/apache/incubator-kie-drools/issues/6702 (Jackson 3
migration).
- @Bean
- @ConditionalOnMissingBean
- public ObjectMapper objectMapper() {
- return Jackson2ObjectMapperBuilder.json().build();
- }
-
- // Jackson 2 HTTP message converter — GraphQLAuditDataRouteMapping uses
Jackson 2's JsonNode in
- // @RequestBody. canWrite refuses String and byte[] so DMN's
pre-serialized JSON and springdoc's
- // /v3/api-docs are not re-encoded by Jackson. Remove together with the
@Bean ObjectMapper above
- // (same issue: #6702).
- @Bean
- @ConditionalOnMissingBean(MappingJackson2HttpMessageConverter.class)
- public MappingJackson2HttpMessageConverter
mappingJackson2HttpMessageConverter(ObjectMapper objectMapper) {
- return new MappingJackson2HttpMessageConverter(objectMapper) {
- @Override
- public boolean canWrite(Class<?> clazz, MediaType mediaType) {
- if (clazz == String.class || clazz == byte[].class) {
- return false;
- }
- return super.canWrite(clazz, mediaType);
- }
- };
- }
-
// Force the plain JPA interface on the EntityManagerFactory bean.
Hibernate 7's
// SessionFactory.getSchemaManager() return type conflicts with JPA 3.2's,
which breaks the JDK Proxy.
@Bean
diff --git
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/test/resources/application.properties
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/test/resources/application.properties
index e10c2bcb8..1d92d11dd 100644
---
a/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/test/resources/application.properties
+++
b/kogito-apps-springboot/data-audit-springboot/kogito-addons-springboot-data-audit/src/test/resources/application.properties
@@ -27,4 +27,8 @@
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
kie.flyway.enabled=true
spring.flyway.enabled=false
-
+# Required configurations to integrate Jackson 2 in Spring Boot 4. Remove
together with https://github.com/apache/incubator-kie-drools/issues/6702
(Jackson 3 migration)
+spring.jackson.use-jackson2-defaults=true
+spring.graphql.rsocket.preferred-json-mapper=jackson2
+spring.http.codecs.preferred-json-mapper=jackson2
+spring.http.converters.preferred-json-mapper=jackson2
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]