From 3550b967739b240a26df5a289ed2811028ef7071 Mon Sep 17 00:00:00 2001 From: Valentin Zickner Date: Mon, 23 Feb 2026 12:35:15 +0100 Subject: [PATCH 1/4] upgrade spring boot version to 4.0.3 --- client/pom.xml | 2 +- .../ExternalWorkerJobCompletionBuilder.java | 2 +- .../impl/JavaHttpClientRestInvoker.java | 2 +- .../client/impl/RestExternalWorkerClient.java | 2 +- .../RestExternalWorkerCompletionBuilder.java | 35 +++++++++---------- .../RestExternalWorkerFailureBuilder.java | 4 +-- .../RestExternalWorkerJobAcquireBuilder.java | 24 +++++-------- .../external/client/impl/RestInvoker.java | 2 +- .../impl/JavaHttpClientRestInvokerTest.java | 4 +-- .../impl/RestExternalWorkerClientTest.java | 4 +-- pom.xml | 6 ++-- .../boot/ExternalWorkerAutoConfiguration.java | 17 ++++----- .../ExternalWorkerAutoConfigurationTest.java | 2 +- workers/spring/starter/pom.xml | 14 +------- .../external/worker/WorkerResult.java | 2 +- .../listener/WorkerJobListenerContainer.java | 2 +- .../worker/DefaultTestConfiguration.java | 2 +- .../worker/SimpleWorkerExceptionThrowing.java | 2 +- .../SimpleWorkerReturnsWorkerResult.java | 4 +-- .../external/worker/StubRestInvoker.java | 2 +- 20 files changed, 57 insertions(+), 77 deletions(-) diff --git a/client/pom.xml b/client/pom.xml index bd1706c..1e43f42 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -14,7 +14,7 @@ - com.fasterxml.jackson.core + tools.jackson.core jackson-databind diff --git a/client/src/main/java/org/flowable/external/client/ExternalWorkerJobCompletionBuilder.java b/client/src/main/java/org/flowable/external/client/ExternalWorkerJobCompletionBuilder.java index c2f1e8a..8fd6843 100644 --- a/client/src/main/java/org/flowable/external/client/ExternalWorkerJobCompletionBuilder.java +++ b/client/src/main/java/org/flowable/external/client/ExternalWorkerJobCompletionBuilder.java @@ -17,7 +17,7 @@ import java.time.LocalDateTime; import java.util.Date; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; /** * A builder that can be used to complete a specific job. diff --git a/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java b/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java index b581afc..42daa0a 100644 --- a/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java +++ b/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java @@ -22,7 +22,7 @@ import java.util.function.Function; import java.util.function.Supplier; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.FlowableClientException; /** diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java index fee5f0a..aeaca3f 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java @@ -12,7 +12,7 @@ */ package org.flowable.external.client.impl; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.ExternalWorkerJobAcquireBuilder; diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java index fc6b85a..bdcf5e8 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java @@ -21,18 +21,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.BooleanNode; -import com.fasterxml.jackson.databind.node.DoubleNode; -import com.fasterxml.jackson.databind.node.IntNode; -import com.fasterxml.jackson.databind.node.LongNode; -import com.fasterxml.jackson.databind.node.NullNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.node.ShortNode; -import com.fasterxml.jackson.databind.node.TextNode; -import com.fasterxml.jackson.databind.util.ISO8601Utils; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.BooleanNode; +import tools.jackson.databind.node.DoubleNode; +import tools.jackson.databind.node.IntNode; +import tools.jackson.databind.node.LongNode; +import tools.jackson.databind.node.NullNode; +import tools.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.ShortNode; +import tools.jackson.databind.node.StringNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; import org.flowable.external.client.FlowableClientException; @@ -59,7 +58,7 @@ public RestExternalWorkerCompletionBuilder(AcquiredExternalWorkerJob workerJob, @Override public ExternalWorkerJobCompletionBuilder variable(String name, String value) { - return addVariableToRequest(name, "string", value, TextNode::valueOf); + return addVariableToRequest(name, "string", value, StringNode::valueOf); } @Override @@ -89,22 +88,22 @@ public ExternalWorkerJobCompletionBuilder variable(String name, Boolean value) { @Override public ExternalWorkerJobCompletionBuilder variable(String name, Date value) { - return addVariableToRequest(name, "date", value, v -> TextNode.valueOf(ISO8601Utils.format(v))); + return addVariableToRequest(name, "date", value, v -> StringNode.valueOf(v.toInstant().toString())); } @Override public ExternalWorkerJobCompletionBuilder variable(String name, Instant value) { - return addVariableToRequest(name, "instant", value, v -> TextNode.valueOf(v.toString())); + return addVariableToRequest(name, "instant", value, v -> StringNode.valueOf(v.toString())); } @Override public ExternalWorkerJobCompletionBuilder variable(String name, LocalDate value) { - return addVariableToRequest(name, "localDate", value, v -> TextNode.valueOf(v.toString())); + return addVariableToRequest(name, "localDate", value, v -> StringNode.valueOf(v.toString())); } @Override public ExternalWorkerJobCompletionBuilder variable(String name, LocalDateTime value) { - return addVariableToRequest(name, "localDateTime", value, v -> TextNode.valueOf(v.toString())); + return addVariableToRequest(name, "localDateTime", value, v -> StringNode.valueOf(v.toString())); } @Override @@ -130,7 +129,7 @@ protected JsonNode convertToJson(Object value) { try { String serializedValue = objectMapper.writeValueAsString(value); return objectMapper.readTree(serializedValue); - } catch (JsonProcessingException e) { + } catch (JacksonException e) { throw new FlowableClientException("Failed to convert value of type " + value.getClass().getName() + " to json", e); } } diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java index 84e0678..2427ff0 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java @@ -21,8 +21,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerJobFailureBuilder; import org.flowable.external.client.FlowableClientException; diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java index 407a940..a04e943 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java @@ -12,24 +12,22 @@ */ package org.flowable.external.client.impl; -import java.text.ParseException; -import java.text.ParsePosition; import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.function.BiConsumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.ObjectNode; -import com.fasterxml.jackson.databind.util.ISO8601Utils; +import tools.jackson.core.JacksonException; +import tools.jackson.databind.JsonNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ArrayNode; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.FlowableClientException; @@ -104,7 +102,7 @@ protected List asList(String response) { } return jobs; - } catch (JsonProcessingException e) { + } catch (JacksonException e) { throw new FlowableClientException("Failed to read response", e); } } @@ -182,13 +180,7 @@ protected Object parseVariableValue(String type, JsonNode valueNode) { case "boolean" -> valueNode.booleanValue(); case "double" -> valueNode.doubleValue(); case "long" -> valueNode.longValue(); - case "date" -> { - try { - yield ISO8601Utils.parse(valueNode.textValue(), new ParsePosition(0)); - } catch (ParseException e) { - yield null; - } - } + case "date" -> Date.from(Instant.parse(valueNode.textValue())); case "instant" -> Instant.parse(valueNode.textValue()); case "localDate" -> LocalDate.parse(valueNode.textValue()); case "localDateTime" -> LocalDateTime.parse(valueNode.textValue()); diff --git a/client/src/main/java/org/flowable/external/client/impl/RestInvoker.java b/client/src/main/java/org/flowable/external/client/impl/RestInvoker.java index b71e00d..dfa9292 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestInvoker.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestInvoker.java @@ -12,7 +12,7 @@ */ package org.flowable.external.client.impl; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.ObjectNode; /** * @author Filip Hrisafov diff --git a/client/src/test/java/org/flowable/external/client/impl/JavaHttpClientRestInvokerTest.java b/client/src/test/java/org/flowable/external/client/impl/JavaHttpClientRestInvokerTest.java index 204a516..c44f27e 100644 --- a/client/src/test/java/org/flowable/external/client/impl/JavaHttpClientRestInvokerTest.java +++ b/client/src/test/java/org/flowable/external/client/impl/JavaHttpClientRestInvokerTest.java @@ -40,8 +40,8 @@ import org.microhttp.Request; import org.microhttp.Response; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; /** * @author Filip Hrisafov diff --git a/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java b/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java index 210b662..7602db2 100644 --- a/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java +++ b/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java @@ -32,8 +32,8 @@ import org.junit.jupiter.params.provider.ValueSource; import org.junit.platform.commons.util.ExceptionUtils; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.ExternalWorkerJob; diff --git a/pom.xml b/pom.xml index 96ca4bd..9309c41 100644 --- a/pom.xml +++ b/pom.xml @@ -13,10 +13,10 @@ UTF-8 UTF-8 - 17 + 21 ${java.version} ${java.version} - 3.1.2 + 4.0.3 https://oss.sonatype.org/content/repositories/snapshots/ @@ -78,7 +78,7 @@ net.javacrumbs.json-unit json-unit-assertj - 3.0.0 + 5.1.0 diff --git a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java index ff51b50..c84fdc1 100644 --- a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java +++ b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java @@ -12,6 +12,8 @@ */ package org.flowable.external.worker.spring.boot; +import java.util.Objects; + import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -22,7 +24,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.impl.RestExternalWorkerClient; import org.flowable.external.client.impl.RestInvoker; @@ -56,13 +58,12 @@ public FlowableWorkerContainerFactory flowableWorkerContainerFactory(External DefaultFlowableWorkerContainerFactory workContainerFactory = new DefaultFlowableWorkerContainerFactory(); workContainerFactory.setExternalWorkerClient(externalWorkerClient); - PropertyMapper propertyMapper = PropertyMapper.get() - .alwaysApplyingWhenNonNull(); - propertyMapper.from(properties.getConcurrency()).to(workContainerFactory::setConcurrency); - propertyMapper.from(properties.getLockDuration()).to(workContainerFactory::setLockDuration); - propertyMapper.from(properties.getNumberOfRetries()).to(workContainerFactory::setNumberOfRetries); - propertyMapper.from(properties.getNumberOfTasks()).to(workContainerFactory::setNumberOfTasks); - propertyMapper.from(properties.getPollingInterval()).to(workContainerFactory::setPollingInterval); + PropertyMapper propertyMapper = PropertyMapper.get(); + propertyMapper.from(properties.getConcurrency()).when(Objects::nonNull).to(workContainerFactory::setConcurrency); + propertyMapper.from(properties.getLockDuration()).when(Objects::nonNull).to(workContainerFactory::setLockDuration); + propertyMapper.from(properties.getNumberOfRetries()).when(Objects::nonNull).to(workContainerFactory::setNumberOfRetries); + propertyMapper.from(properties.getNumberOfTasks()).when(Objects::nonNull).to(workContainerFactory::setNumberOfTasks); + propertyMapper.from(properties.getPollingInterval()).when(Objects::nonNull).to(workContainerFactory::setPollingInterval); return workContainerFactory; } diff --git a/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java b/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java index bd9a9da..6bc4123 100644 --- a/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java +++ b/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java @@ -41,7 +41,7 @@ import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.runner.ApplicationContextRunner; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.impl.JavaHttpClientRestInvoker; import org.flowable.external.client.impl.RestInvoker; diff --git a/workers/spring/starter/pom.xml b/workers/spring/starter/pom.xml index 7795949..5d2c5f4 100644 --- a/workers/spring/starter/pom.xml +++ b/workers/spring/starter/pom.xml @@ -25,21 +25,9 @@ spring-boot-starter - com.fasterxml.jackson.core + tools.jackson.core jackson-databind - - com.fasterxml.jackson.datatype - jackson-datatype-jdk8 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - - - com.fasterxml.jackson.module - jackson-module-parameter-names - diff --git a/workers/spring/worker/src/main/java/org/flowable/external/worker/WorkerResult.java b/workers/spring/worker/src/main/java/org/flowable/external/worker/WorkerResult.java index d6d2d2c..c97fcca 100644 --- a/workers/spring/worker/src/main/java/org/flowable/external/worker/WorkerResult.java +++ b/workers/spring/worker/src/main/java/org/flowable/external/worker/WorkerResult.java @@ -20,7 +20,7 @@ import org.flowable.external.worker.annotation.FlowableWorker; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; /** * A result that can be returned by a method annotated with {@link FlowableWorker @FlowableWorker}. diff --git a/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java b/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java index 94fd65d..8f08e2d 100644 --- a/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java +++ b/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java @@ -34,7 +34,7 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; -import com.fasterxml.jackson.databind.JsonNode; +import tools.jackson.databind.JsonNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java index 16436d3..6a22499 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java @@ -15,7 +15,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.fasterxml.jackson.databind.ObjectMapper; +import tools.jackson.databind.ObjectMapper; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.impl.RestExternalWorkerClient; import org.flowable.external.client.impl.RestInvoker; diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java index 804714f..0d48840 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java @@ -18,7 +18,7 @@ import org.springframework.stereotype.Component; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.worker.annotation.FlowableWorker; diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java index 595aec8..9d61c77 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java @@ -23,8 +23,8 @@ import org.springframework.stereotype.Component; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.ObjectMapper; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.worker.annotation.FlowableWorker; diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java index a5705d1..c5d45c6 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java @@ -20,7 +20,7 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.CopyOnWriteArrayList; -import com.fasterxml.jackson.databind.node.ObjectNode; +import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.impl.RestInvoker; import org.flowable.external.client.impl.RestResponse; From 4cefd4108403e3c9d101b7ccc34908611814bf35 Mon Sep 17 00:00:00 2001 From: Valentin Zickner Date: Mon, 23 Feb 2026 14:13:48 +0100 Subject: [PATCH 2/4] fixup! upgrade spring boot version to 4.0.3 --- pom.xml | 2 +- .../spring/boot/ExternalWorkerAutoConfiguration.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 9309c41..1f210f1 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 UTF-8 - 21 + 17 ${java.version} ${java.version} 4.0.3 diff --git a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java index c84fdc1..a2b81f6 100644 --- a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java +++ b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java @@ -59,11 +59,11 @@ public FlowableWorkerContainerFactory flowableWorkerContainerFactory(External workContainerFactory.setExternalWorkerClient(externalWorkerClient); PropertyMapper propertyMapper = PropertyMapper.get(); - propertyMapper.from(properties.getConcurrency()).when(Objects::nonNull).to(workContainerFactory::setConcurrency); - propertyMapper.from(properties.getLockDuration()).when(Objects::nonNull).to(workContainerFactory::setLockDuration); - propertyMapper.from(properties.getNumberOfRetries()).when(Objects::nonNull).to(workContainerFactory::setNumberOfRetries); - propertyMapper.from(properties.getNumberOfTasks()).when(Objects::nonNull).to(workContainerFactory::setNumberOfTasks); - propertyMapper.from(properties.getPollingInterval()).when(Objects::nonNull).to(workContainerFactory::setPollingInterval); + propertyMapper.from(properties.getConcurrency()).to(workContainerFactory::setConcurrency); + propertyMapper.from(properties.getLockDuration()).to(workContainerFactory::setLockDuration); + propertyMapper.from(properties.getNumberOfRetries()).to(workContainerFactory::setNumberOfRetries); + propertyMapper.from(properties.getNumberOfTasks()).to(workContainerFactory::setNumberOfTasks); + propertyMapper.from(properties.getPollingInterval()).to(workContainerFactory::setPollingInterval); return workContainerFactory; } From 52347c0983b2bd4441df9718486087c755b28075 Mon Sep 17 00:00:00 2001 From: Valentin Zickner Date: Mon, 23 Feb 2026 15:34:02 +0100 Subject: [PATCH 3/4] fix import order --- .../impl/JavaHttpClientRestInvoker.java | 3 ++- .../client/impl/RestExternalWorkerClient.java | 3 ++- .../RestExternalWorkerCompletionBuilder.java | 6 +++--- .../RestExternalWorkerFailureBuilder.java | 6 +++--- .../RestExternalWorkerJobAcquireBuilder.java | 4 ++-- .../impl/RestExternalWorkerClientTest.java | 8 ++++---- .../boot/ExternalWorkerAutoConfiguration.java | 16 +++++++-------- .../ExternalWorkerAutoConfigurationTest.java | 14 ++++++------- .../listener/WorkerJobListenerContainer.java | 20 +++++++++---------- .../worker/DefaultTestConfiguration.java | 6 +++--- .../worker/SimpleWorkerExceptionThrowing.java | 4 ++-- .../SimpleWorkerReturnsWorkerResult.java | 4 ++-- .../external/worker/StubRestInvoker.java | 3 ++- 13 files changed, 49 insertions(+), 48 deletions(-) diff --git a/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java b/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java index 42daa0a..e6cab0e 100644 --- a/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java +++ b/client/src/main/java/org/flowable/external/client/impl/JavaHttpClientRestInvoker.java @@ -22,9 +22,10 @@ import java.util.function.Function; import java.util.function.Supplier; -import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.FlowableClientException; +import tools.jackson.databind.node.ObjectNode; + /** * @author Filip Hrisafov */ diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java index aeaca3f..7bb13ab 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerClient.java @@ -12,13 +12,14 @@ */ package org.flowable.external.client.impl; -import tools.jackson.databind.ObjectMapper; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.ExternalWorkerJobAcquireBuilder; import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; import org.flowable.external.client.ExternalWorkerJobFailureBuilder; +import tools.jackson.databind.ObjectMapper; + /** * @author Filip Hrisafov */ diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java index bdcf5e8..4be504b 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerCompletionBuilder.java @@ -18,6 +18,9 @@ import java.util.Date; import java.util.function.Function; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; +import org.flowable.external.client.FlowableClientException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,9 +35,6 @@ import tools.jackson.databind.node.ObjectNode; import tools.jackson.databind.node.ShortNode; import tools.jackson.databind.node.StringNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; -import org.flowable.external.client.FlowableClientException; /** * @author Filip Hrisafov diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java index 2427ff0..c9240b8 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerFailureBuilder.java @@ -18,14 +18,14 @@ import java.io.UncheckedIOException; import java.time.Duration; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.client.ExternalWorkerJobFailureBuilder; +import org.flowable.external.client.FlowableClientException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ObjectNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.client.ExternalWorkerJobFailureBuilder; -import org.flowable.external.client.FlowableClientException; /** * @author Filip Hrisafov diff --git a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java index a04e943..fb28659 100644 --- a/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java +++ b/client/src/main/java/org/flowable/external/client/impl/RestExternalWorkerJobAcquireBuilder.java @@ -20,6 +20,8 @@ import java.util.List; import java.util.function.BiConsumer; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.client.FlowableClientException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,8 +30,6 @@ import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ArrayNode; import tools.jackson.databind.node.ObjectNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.client.FlowableClientException; /** * @author Filip Hrisafov diff --git a/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java b/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java index 7602db2..a50f16f 100644 --- a/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java +++ b/client/src/test/java/org/flowable/external/client/impl/RestExternalWorkerClientTest.java @@ -26,6 +26,10 @@ import java.util.List; import java.util.Map; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.client.ExternalWorkerClient; +import org.flowable.external.client.ExternalWorkerJob; +import org.flowable.external.client.FlowableClientException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; @@ -34,10 +38,6 @@ import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ObjectNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.client.ExternalWorkerClient; -import org.flowable.external.client.ExternalWorkerJob; -import org.flowable.external.client.FlowableClientException; /** * @author Filip Hrisafov diff --git a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java index a2b81f6..c719c93 100644 --- a/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java +++ b/workers/spring/autoconfigure/src/main/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfiguration.java @@ -12,8 +12,13 @@ */ package org.flowable.external.worker.spring.boot; -import java.util.Objects; - +import org.flowable.external.client.ExternalWorkerClient; +import org.flowable.external.client.impl.RestExternalWorkerClient; +import org.flowable.external.client.impl.RestInvoker; +import org.flowable.external.worker.annotation.EnableFlowableWorker; +import org.flowable.external.worker.config.DefaultFlowableWorkerContainerFactory; +import org.flowable.external.worker.config.FlowableWorkerConfigUtils; +import org.flowable.external.worker.config.FlowableWorkerContainerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -25,13 +30,6 @@ import org.springframework.context.annotation.Import; import tools.jackson.databind.ObjectMapper; -import org.flowable.external.client.ExternalWorkerClient; -import org.flowable.external.client.impl.RestExternalWorkerClient; -import org.flowable.external.client.impl.RestInvoker; -import org.flowable.external.worker.annotation.EnableFlowableWorker; -import org.flowable.external.worker.config.DefaultFlowableWorkerContainerFactory; -import org.flowable.external.worker.config.FlowableWorkerConfigUtils; -import org.flowable.external.worker.config.FlowableWorkerContainerFactory; /** * @author Filip Hrisafov diff --git a/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java b/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java index 6bc4123..6620ee8 100644 --- a/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java +++ b/workers/spring/autoconfigure/src/test/java/org/flowable/external/worker/spring/boot/ExternalWorkerAutoConfigurationTest.java @@ -29,6 +29,13 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; +import org.flowable.external.client.ExternalWorkerClient; +import org.flowable.external.client.impl.JavaHttpClientRestInvoker; +import org.flowable.external.client.impl.RestInvoker; +import org.flowable.external.worker.config.DefaultFlowableWorkerContainerFactory; +import org.flowable.external.worker.config.FlowableWorkerContainerFactory; +import org.flowable.external.worker.config.FlowableWorkerEndpoint; +import org.flowable.external.worker.listener.WorkerJobListenerContainer; import org.junit.jupiter.api.Test; import org.microhttp.EventLoop; import org.microhttp.Handler; @@ -42,13 +49,6 @@ import org.springframework.boot.test.context.runner.ApplicationContextRunner; import tools.jackson.databind.ObjectMapper; -import org.flowable.external.client.ExternalWorkerClient; -import org.flowable.external.client.impl.JavaHttpClientRestInvoker; -import org.flowable.external.client.impl.RestInvoker; -import org.flowable.external.worker.config.DefaultFlowableWorkerContainerFactory; -import org.flowable.external.worker.config.FlowableWorkerContainerFactory; -import org.flowable.external.worker.config.FlowableWorkerEndpoint; -import org.flowable.external.worker.listener.WorkerJobListenerContainer; /** * @author Filip Hrisafov diff --git a/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java b/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java index 8f08e2d..d71b34b 100644 --- a/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java +++ b/workers/spring/worker/src/main/java/org/flowable/external/worker/listener/WorkerJobListenerContainer.java @@ -25,16 +25,6 @@ import java.util.concurrent.TimeoutException; import java.util.function.Consumer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.BeanNameAware; -import org.springframework.core.task.AsyncTaskExecutor; -import org.springframework.core.task.SimpleAsyncTaskExecutor; -import org.springframework.scheduling.SchedulingAwareRunnable; -import org.springframework.util.Assert; -import org.springframework.util.StringUtils; - -import tools.jackson.databind.JsonNode; import org.flowable.external.client.AcquiredExternalWorkerJob; import org.flowable.external.client.ExternalWorkerClient; import org.flowable.external.client.ExternalWorkerJobCompletionBuilder; @@ -46,6 +36,16 @@ import org.flowable.external.worker.WorkerResult; import org.flowable.external.worker.WorkerResultBuilder; import org.flowable.external.worker.worker.FlowableWorkerContainer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.BeanNameAware; +import org.springframework.core.task.AsyncTaskExecutor; +import org.springframework.core.task.SimpleAsyncTaskExecutor; +import org.springframework.scheduling.SchedulingAwareRunnable; +import org.springframework.util.Assert; +import org.springframework.util.StringUtils; + +import tools.jackson.databind.JsonNode; /** * @author Filip Hrisafov diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java index 6a22499..423ae2d 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/DefaultTestConfiguration.java @@ -12,13 +12,13 @@ */ package org.flowable.external.worker; +import org.flowable.external.client.ExternalWorkerClient; +import org.flowable.external.client.impl.RestExternalWorkerClient; +import org.flowable.external.client.impl.RestInvoker; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import tools.jackson.databind.ObjectMapper; -import org.flowable.external.client.ExternalWorkerClient; -import org.flowable.external.client.impl.RestExternalWorkerClient; -import org.flowable.external.client.impl.RestInvoker; /** * @author Filip Hrisafov diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java index 0d48840..3dc52b3 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerExceptionThrowing.java @@ -16,11 +16,11 @@ import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.worker.annotation.FlowableWorker; import org.springframework.stereotype.Component; import tools.jackson.databind.node.ObjectNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.worker.annotation.FlowableWorker; /** * @author Filip Hrisafov diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java index 9d61c77..d944b5f 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/SimpleWorkerReturnsWorkerResult.java @@ -21,12 +21,12 @@ import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; +import org.flowable.external.client.AcquiredExternalWorkerJob; +import org.flowable.external.worker.annotation.FlowableWorker; import org.springframework.stereotype.Component; import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.node.ObjectNode; -import org.flowable.external.client.AcquiredExternalWorkerJob; -import org.flowable.external.worker.annotation.FlowableWorker; /** * @author Filip Hrisafov diff --git a/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java b/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java index c5d45c6..d0051e9 100644 --- a/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java +++ b/workers/spring/worker/src/test/java/org/flowable/external/worker/StubRestInvoker.java @@ -20,10 +20,11 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.CopyOnWriteArrayList; -import tools.jackson.databind.node.ObjectNode; import org.flowable.external.client.impl.RestInvoker; import org.flowable.external.client.impl.RestResponse; +import tools.jackson.databind.node.ObjectNode; + /** * @author Filip Hrisafov */ From db6de03abbadcf8efd95b4c83d7a5e1d0cca95f5 Mon Sep 17 00:00:00 2001 From: Valentin Zickner Date: Tue, 24 Feb 2026 22:58:55 +0100 Subject: [PATCH 4/4] add spring boot starter json to starter --- workers/spring/starter/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workers/spring/starter/pom.xml b/workers/spring/starter/pom.xml index 5d2c5f4..16c5d27 100644 --- a/workers/spring/starter/pom.xml +++ b/workers/spring/starter/pom.xml @@ -28,6 +28,10 @@ tools.jackson.core jackson-databind + + org.springframework.boot + spring-boot-starter-json +