1.6. 已知问题
1.6.1. 当编译原生项目时 NoClassDefFoundError 复制链接链接已复制到粘贴板!
编译原生项目可能会导致 NoClassDefFoundError 如下:
Caused by: java.lang.NoClassDefFoundError: io/netty/handler/codec/socksx/v5/Socks5InitialRequest
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1160)
at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.classinitialization.ClassInitializationSupport.ensureClassInitialized(ClassInitializationSupport.java:177)
... 55 more
Caused by: java.lang.ClassNotFoundException: io.netty.handler.codec.socksx.v5.Socks5InitialRequest
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
其原因是 netty-codec-socks 在 quarkus-qpid-jms 扩展中排除,camel-quarkus-amqp 依赖于它。
- 临时解决方案
-
您可以通过手动添加
netty-codec-socksdepencency 来避免 errror。
1.6.2. AArch64 系统上 Quarkus 的问题 复制链接链接已复制到粘贴板!
在 AArch64 系统上当前存在 Quarkus 3.8 的问题和限制。如需更多信息,请参阅 Red Hat build of Quarkus 3.8 发行注记:
1.6.3. Websocket + Knative 无法使用 HTTP2 复制链接链接已复制到粘贴板!
我们支持使用 Knative 支持 camel-quarkus-grpc 和 camel-vertx-websocket。
gRPC 需要 HTTP2 (您可以在 Knative 上找到有关如何启用它的说明:HTTP2)。
不幸的是,带有 Knative 的 Websockets 无法用于 HTTP2 (请参阅 OpenShift Container Platform 中的 Ingress Operator)。
因此,如果您有一个应用程序旨在接受 WebSocket 连接,则必须允许使用 HTTP/2 协议,或者其它客户端将无法升级到 WebSocket 协议。
1.6.4. 其他已知问题 复制链接链接已复制到粘贴板!
- camel-quarkus-jackson-avro 的 quarkus 原生编译失败
如果您尝试编译使用
camel-quarkus-jackson-avro扩展到原生代码的 Camel Quarkus 应用程序,则编译会失败,并显示UnsupportedFeatureException错误。作为临时解决方案,您可以使用 parameter
-该配置属性添加到Dquarkus.native.additional-build-args=--initialize-at-run-time=org.avro.file.DataFileWriter 构建应用程序,或将src/main/resources/application.properties文件中。如需更多信息,请参阅客户门户网站中的 "Quarkus 原生编译 camel-quarkus-jackson-avro 失败 "。(需要登录)
- 从
smallrye-metrics移到camel-quarkus-micrometer需要手动注册 bean 如果您要从
smallrye-metrics迁移到micrometer,您可能需要手动将一些 Bean 定义为有范围。在
smallrye-metrics中,为指标注册的类(例如,@COUNTED、@METRIC),但不注册为有范围 Bean。这不会在微主题中发生。在
微主题中,您需要手动注册通过 CDI 访问的 Bean,例如添加@Dependent注解。
- 原生不支持 camel-quarkus-snmp
-
在红帽构建的 Apache Camel for Quarkus 中,我们仅在 JVM 模式中支持
camel-quarkus-snmp组件。