Knative
JVM since2.14.0 Native since2.14.0
Send and receive events from Knative.
What’s inside
-
Knative component, URI syntax:
knative:type/typeId
Please refer to the above link for usage and configuration details.
Maven coordinates
Or add the coordinates to your existing project:
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-knative</artifactId>
</dependency> Check the User guide for more information about writing Camel Quarkus applications.
Camel Quarkus limitations
vertx-websocket with Knative does not work with HTTP/2
The vertx-websocket extension is supported with Knative, but has important protocol compatibility constraints.
WebSocket connections require the HTTP/1.1 upgrade mechanism and are incompatible with HTTP/2. If your Knative application is intended to accept WebSocket connections, it must not allow negotiating the HTTP/2 protocol, or else clients will fail to upgrade to the WebSocket protocol.
This creates an incompatibility with the grpc extension, which requires HTTP/2.
| If you need to use gRPC with Knative, you must configure HTTP/2 support. See Using HTTP2 and gRPC for configuration instructions. |
To use WebSockets with Knative:
-
Ensure your Knative service does not negotiate HTTP/2
-
Configure ingress gateways and load balancers to use HTTP/1.1 for WebSocket routes
-
Do not enable HTTP/2 support if your application accepts WebSocket connections
For platform-specific configuration, refer to: