This is an automated email from the ASF dual-hosted git repository. christophd pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 37ce32776019a2bd7034f7327aaedecb5749a9ba Author: Christoph Deppisch <[email protected]> AuthorDate: Thu Oct 8 18:50:24 2026 +0200 CAMEL-25333: Address review feedback on camel-openfeature component Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../openfeature/OpenFeatureComponent.java | 1 + .../component/openfeature/OpenFeatureEndpoint.java | 26 +++++++++++++--------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureComponent.java b/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureComponent.java index e790a297508f..b68219216bcb 100644 --- a/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureComponent.java +++ b/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureComponent.java @@ -128,6 +128,7 @@ public class OpenFeatureComponent extends DefaultComponent { binding.shutdown(); } domainBindings.clear(); + domainLocks.clear(); if (localApi != null) { try { localApi.shutdown(); diff --git a/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureEndpoint.java b/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureEndpoint.java index e1d9f6157ff6..9cdcf57dcb86 100644 --- a/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureEndpoint.java +++ b/components/camel-openfeature/src/main/java/org/apache/camel/component/openfeature/OpenFeatureEndpoint.java @@ -392,16 +392,22 @@ public class OpenFeatureEndpoint extends DefaultEndpoint { private OpenFeatureComponent.ProviderRegistration createFileProviderFromContent(String flagContent) throws IOException { File tmp = Files.createTempFile("camel-openfeature-", ".json").toFile(); - Files.writeString(tmp.toPath(), flagContent, StandardCharsets.UTF_8); - - FlagdOptions options = FlagdOptions.builder() - .resolverType(Config.Resolver.FILE) - .offlineFlagSourcePath(tmp.getAbsolutePath()) - .build(); - FlagdProvider provider = new FlagdProvider(options); - OpenFeatureComponent.ProviderRegistration reg = new OpenFeatureComponent.ProviderRegistration(provider, true); - reg.tempFlagFile = tmp; - return reg; + try { + Files.writeString(tmp.toPath(), flagContent, StandardCharsets.UTF_8); + + FlagdOptions options = FlagdOptions.builder() + .resolverType(Config.Resolver.FILE) + .offlineFlagSourcePath(tmp.getAbsolutePath()) + .build(); + FlagdProvider provider = new FlagdProvider(options); + OpenFeatureComponent.ProviderRegistration reg + = new OpenFeatureComponent.ProviderRegistration(provider, true); + reg.tempFlagFile = tmp; + return reg; + } catch (Exception e) { + Files.deleteIfExists(tmp.toPath()); + throw e; + } } private String loadResource(String location) throws IOException {
