Skip to content

Commit d14ed00

Browse files
committed
Wrap reactor-netty-http to make http3/quic imports optional
reactor-netty-http has mandatory imports for io.netty.handler.codec.http3, io.netty.handler.codec.quic, and io.netty.handler.codec.haproxy. When all bundles in a feature are marked dependency='true', the Karaf resolver may fail to transitively resolve them, causing NoClassDefFoundError for reactor/netty/http/client/HttpClient at runtime. Apply the same wrap directive already used in camel-azure-storage-queue to camel-azure-eventhubs, camel-azure-storage-blob, and camel-stitch features.
1 parent 7f5689c commit d14ed00

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

features/src/main/feature/camel-features.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -720,7 +720,7 @@
720720
<bundle dependency='true'>mvn:io.netty/netty-codec-classes-quic/${netty-version}</bundle>
721721
<bundle dependency='true'>mvn:org.jspecify/jspecify/${jspecify-version}</bundle>
722722
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-core/${reactor-netty-version}</bundle>
723-
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-http/${reactor-netty-version}</bundle>
723+
<bundle dependency='true'>wrap:mvn:io.projectreactor.netty/reactor-netty-http/${auto-detect-version}$overwrite=merge&amp;Import-Package=io.netty.handler.codec.haproxy;resolution:=optional,io.netty.handler.codec.http3;resolution:=optional,io.netty.handler.codec.quic;resolution:=optional,io.netty.incubator.codec*;resolution:=optional,io.micrometer*;resolution:=optional,*</bundle>
724724
<bundle dependency='true'>wrap:mvn:com.azure/azure-storage-blob/${azure-storage-blob-version}</bundle>
725725
<bundle>mvn:org.apache.camel.karaf/camel-azure-eventhubs/${project.version}</bundle>
726726
</feature>
@@ -772,7 +772,7 @@
772772
<bundle dependency='true'>mvn:io.netty/netty-codec-classes-quic/${netty-version}</bundle>
773773
<bundle dependency='true'>mvn:org.jspecify/jspecify/${jspecify-version}</bundle>
774774
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-core/${reactor-netty-version}</bundle>
775-
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-http/${reactor-netty-version}</bundle>
775+
<bundle dependency='true'>wrap:mvn:io.projectreactor.netty/reactor-netty-http/${auto-detect-version}$overwrite=merge&amp;Import-Package=io.netty.handler.codec.haproxy;resolution:=optional,io.netty.handler.codec.http3;resolution:=optional,io.netty.handler.codec.quic;resolution:=optional,io.netty.incubator.codec*;resolution:=optional,io.micrometer*;resolution:=optional,*</bundle>
776776
<bundle>mvn:org.apache.camel.karaf/camel-azure-storage-blob/${project.version}</bundle>
777777
</feature>
778778
<feature name='camel-azure-storage-datalake' version='${project.version}' start-level='50'>
@@ -3311,7 +3311,7 @@ Chain 2:
33113311
<bundle dependency='true'>wrap:mvn:io.projectreactor/reactor-core/${reactor-version}$overwrite=merge&amp;Import-Package=jdk.internal*;resolution:=optional,io.micrometer*;resolution:=optional,javax.annotation*;resolution:=optional,org.jspecify*;resolution:=optional,kotlin*;resolution:=optional,reactor.blockhound*;resolution:=optional,*</bundle>
33123312
<bundle dependency='true'>mvn:org.jspecify/jspecify/${jspecify-version}</bundle>
33133313
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-core/${reactor-netty-version}</bundle>
3314-
<bundle dependency='true'>mvn:io.projectreactor.netty/reactor-netty-http/${reactor-netty-version}</bundle>
3314+
<bundle dependency='true'>wrap:mvn:io.projectreactor.netty/reactor-netty-http/${auto-detect-version}$overwrite=merge&amp;Import-Package=io.netty.handler.codec.haproxy;resolution:=optional,io.netty.handler.codec.http3;resolution:=optional,io.netty.handler.codec.quic;resolution:=optional,io.netty.incubator.codec*;resolution:=optional,io.micrometer*;resolution:=optional,*</bundle>
33153315
<bundle dependency='true'>mvn:io.netty/netty-transport-classes-epoll/${netty-version}</bundle>
33163316
<bundle dependency='true'>mvn:io.netty/netty-handler-proxy/${netty-version}</bundle>
33173317
<bundle dependency='true'>mvn:io.netty/netty-resolver-dns/${netty-version}</bundle>

0 commit comments

Comments
 (0)