This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch 3.27.x in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit ed317511a864edbef243c0fac559ebed9e284dec Author: James Netherton <[email protected]> AuthorDate: Tue Jan 20 15:46:20 2026 +0000 Disable expression support for native mode in net.engio:mbassador Fixes #8158 --- extensions/smb/runtime/pom.xml | 9 +++ .../component/smb/graal/ElFilterSubstitutions.java | 65 ++++++++++++++++++++++ pom.xml | 1 + poms/bom/pom.xml | 5 ++ poms/bom/src/main/generated/flattened-full-pom.xml | 5 ++ .../src/main/generated/flattened-reduced-pom.xml | 5 ++ .../generated/flattened-reduced-verbose-pom.xml | 5 ++ 7 files changed, 95 insertions(+) diff --git a/extensions/smb/runtime/pom.xml b/extensions/smb/runtime/pom.xml index ed1d9bd0ef..bc76d2146f 100644 --- a/extensions/smb/runtime/pom.xml +++ b/extensions/smb/runtime/pom.xml @@ -48,6 +48,15 @@ <groupId>jakarta.el</groupId> <artifactId>jakarta.el-api</artifactId> </dependency> + <dependency> + <groupId>net.engio</groupId> + <artifactId>mbassador</artifactId> + </dependency> + <dependency> + <groupId>org.graalvm.sdk</groupId> + <artifactId>graal-sdk</artifactId> + <scope>provided</scope> + </dependency> </dependencies> <build> diff --git a/extensions/smb/runtime/src/main/java/org/apache/camel/component/smb/graal/ElFilterSubstitutions.java b/extensions/smb/runtime/src/main/java/org/apache/camel/component/smb/graal/ElFilterSubstitutions.java new file mode 100644 index 0000000000..87c15963df --- /dev/null +++ b/extensions/smb/runtime/src/main/java/org/apache/camel/component/smb/graal/ElFilterSubstitutions.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.smb.graal; + +import com.oracle.svm.core.annotate.Alias; +import com.oracle.svm.core.annotate.RecomputeFieldValue; +import com.oracle.svm.core.annotate.Substitute; +import com.oracle.svm.core.annotate.TargetClass; +import jakarta.el.ExpressionFactory; +import net.engio.mbassy.dispatch.el.StandardELResolutionContext; +import net.engio.mbassy.subscription.SubscriptionContext; + +/** + * Disables unwanted for smbj jakarta.el support in net.engio:mbassador + * + * TODO: Remove this class when mbassador > 1.3.0 is available - https://github.com/apache/camel-quarkus/issues/5646 + */ +public class ElFilterSubstitutions { + @TargetClass(className = "net.engio.mbassy.dispatch.el.ElFilter") + static final class SubstituteElFilter { + @Substitute + public static boolean isELAvailable() { + return false; + } + + @Substitute + public static ExpressionFactory ELFactory() { + return null; + } + + @Substitute + public boolean accepts(Object message, final SubscriptionContext context) { + return false; + } + + @Substitute + private boolean evalExpression(final String expression, + final StandardELResolutionContext resolutionContext, + final SubscriptionContext context, + final Object message) { + return false; + } + } + + @TargetClass(className = "net.engio.mbassy.dispatch.el.ElFilter$ExpressionFactoryHolder") + static final class SubstituteExpressionFactoryHolder { + @Alias + @RecomputeFieldValue(kind = RecomputeFieldValue.Kind.FromAlias) + public static ExpressionFactory ELFactory = null; + } +} diff --git a/pom.xml b/pom.xml index a845f825cb..375082046f 100644 --- a/pom.xml +++ b/pom.xml @@ -140,6 +140,7 @@ <langchain4j.version>1.5.0</langchain4j.version><!-- @sync io.quarkiverse.langchain4j:quarkus-langchain4j-parent:${quarkiverse-langchain4j.version} prop:langchain4j.version --> <langchain4j-beta.version>1.5.0-beta11</langchain4j-beta.version><!-- @sync io.quarkiverse.langchain4j:quarkus-langchain4j-parent:${quarkiverse-langchain4j.version} prop:langchain4j-beta.version --> <mapstruct.version>${mapstruct-version}</mapstruct.version> + <mbassador.version>1.3.0</mbassador.version><!-- @sync com.hierynomus:smbj:${smbj-version} dep:net.engio:mbassador --> <minio.version>8.6.0</minio.version><!-- @sync io.quarkiverse.minio:quarkus-minio-parent:${quarkiverse-minio.version} prop:minio.version --> <msal4j.version>1.21.0</msal4j.version><!-- @sync com.azure:azure-identity:${azure-identity.version} dep:com.microsoft.azure:msal4j --> <murmur.version>1.0.0</murmur.version> diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index 05fed90885..9e829020e7 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -7511,6 +7511,11 @@ <artifactId>joda-time</artifactId> <version>${jodatime.version}</version> </dependency> + <dependency> + <groupId>net.engio</groupId> + <artifactId>mbassador</artifactId> + <version>${mbassador.version}</version> + </dependency> <dependency> <groupId>net.i2p.crypto</groupId> <artifactId>eddsa</artifactId> diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml index b10c747748..348550196e 100644 --- a/poms/bom/src/main/generated/flattened-full-pom.xml +++ b/poms/bom/src/main/generated/flattened-full-pom.xml @@ -7397,6 +7397,11 @@ <artifactId>joda-time</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.14.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>net.engio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>mbassador</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>1.3.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>net.i2p.crypto</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>eddsa</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml index ecff0edd3f..88a4824b68 100644 --- a/poms/bom/src/main/generated/flattened-reduced-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml @@ -7352,6 +7352,11 @@ <artifactId>joda-time</artifactId> <version>2.14.0</version> </dependency> + <dependency> + <groupId>net.engio</groupId> + <artifactId>mbassador</artifactId> + <version>1.3.0</version> + </dependency> <dependency> <groupId>net.i2p.crypto</groupId> <artifactId>eddsa</artifactId> diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml index a16bb43d85..f79d346ab5 100644 --- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml @@ -7352,6 +7352,11 @@ <artifactId>joda-time</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>2.14.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>net.engio</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>mbassador</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>1.3.0</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>net.i2p.crypto</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>eddsa</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
