1.7. 已知问题
1.7.1. 使用 Java DSL 重构 .endChoice () 行为 复制链接链接已复制到粘贴板!
endChoice
方法更改为 end ().endChoice ()
(请参阅 CEQ-11181)。
当使用 Choice EIP 时,在某些情况下,您可能需要使用 .endChoice ()
来继续添加更多节点到当前的选择 EIP 中,或者您要处理嵌套的选择 EIP (选择中的选择),那么您可能还需要使用 endChoice
回到父选择,以继续到父选择。
但是,在将旧的 Camel 版本升级到 4.11 时有一些回归问题,因此我们重构了 endChoice
以更加一致。
例如,以下代码:
现在应该是:
endChoice
方法的变化到 end ().endChoice ()
使调用一致。
这结束了当前(内)选择,并将范围更改为 选择 EIP
,从而能够继续选择(外部) 选择
。
这告知 Java DSL 范围是 Choice EIP,您可以将其他块添加到外部 选择
中,否则它将无法正常工作。
1.7.2. 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.7.3. 运行 maven 更新时出错 复制链接链接已复制到粘贴板!
当使用指定版本运行 maven 更新时:
mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.20.1.SP1-redhat-00001:update -Drewrite
mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.20.1.SP1-redhat-00001:update -Drewrite
这可能导致类似如下的错误:
Failed to apply the updates: The project is missing the Quarkus platform BOM in module foo.
Failed to apply the updates: The project is missing the Quarkus platform BOM in module foo.
受影响的模块特定于您的项目,因此您需要读取错误消息来查找受影响的模块。
- 临时解决方案
要避免错误,请将
quarkus-resteasy
依赖项添加到错误消息中提到的模块。在我们的示例中,
foo
模块将依赖项添加到foo/pom.xml
中:<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> </dependency>
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-resteasy</artifactId> </dependency>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow