camel-grpc-kafka-connector sink configuration

When using camel-grpc-kafka-connector as sink make sure to use the following Maven dependency to have support for the connector:

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-grpc-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

To use this Sink connector in Kafka connect you’ll need to set the following connector.class

connector.class=org.apache.camel.kafkaconnector.grpc.CamelGrpcSinkConnector

The camel-grpc sink connector supports 25 options, which are listed below.

Name Description Default Priority

camel.sink.path.host

The gRPC server host name. This is localhost or 0.0.0.0 when being a consumer or remote server host name when using producer.

null

HIGH

camel.sink.path.port

The gRPC local or remote server port

null

HIGH

camel.sink.path.service

Fully qualified service name from the protocol buffer descriptor file (package dot service definition name)

null

HIGH

camel.sink.endpoint.flowControlWindow

The HTTP/2 flow control window size (MiB)

1048576

MEDIUM

camel.sink.endpoint.maxMessageSize

The maximum message size allowed to be received/sent (MiB)

4194304

MEDIUM

camel.sink.endpoint.lazyStartProducer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

MEDIUM

camel.sink.endpoint.method

gRPC method name

null

MEDIUM

camel.sink.endpoint.producerStrategy

The mode used to communicate with a remote gRPC server. In SIMPLE mode a single exchange is translated into a remote procedure call. In STREAMING mode all exchanges will be sent within the same request (input and output of the recipient gRPC service must be of type 'stream'). One of: [SIMPLE] [STREAMING]

"SIMPLE"

MEDIUM

camel.sink.endpoint.streamRepliesTo

When using STREAMING client mode, it indicates the endpoint where responses should be forwarded.

null

MEDIUM

camel.sink.endpoint.userAgent

The user agent header passed to the server

null

MEDIUM

camel.sink.endpoint.basicPropertyBinding

Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities

false

MEDIUM

camel.sink.endpoint.synchronous

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

MEDIUM

camel.sink.endpoint.authenticationType

Authentication method type in advance to the SSL/TLS negotiation One of: [NONE] [GOOGLE] [JWT]

"NONE"

MEDIUM

camel.sink.endpoint.jwtAlgorithm

JSON Web Token sign algorithm One of: [HMAC256] [HMAC384] [HMAC512]

"HMAC256"

MEDIUM

camel.sink.endpoint.jwtIssuer

JSON Web Token issuer

null

MEDIUM

camel.sink.endpoint.jwtSecret

JSON Web Token secret

null

MEDIUM

camel.sink.endpoint.jwtSubject

JSON Web Token subject

null

MEDIUM

camel.sink.endpoint.keyCertChainResource

The X.509 certificate chain file resource in PEM format link

null

MEDIUM

camel.sink.endpoint.keyPassword

The PKCS#8 private key file password

null

MEDIUM

camel.sink.endpoint.keyResource

The PKCS#8 private key file resource in PEM format link

null

MEDIUM

camel.sink.endpoint.negotiationType

Identifies the security negotiation type used for HTTP/2 communication One of: [TLS] [PLAINTEXT_UPGRADE] [PLAINTEXT]

"PLAINTEXT"

MEDIUM

camel.sink.endpoint.serviceAccountResource

Service Account key file in JSON format resource link supported by the Google Cloud SDK

null

MEDIUM

camel.sink.endpoint.trustCertCollectionResource

The trusted certificates collection file resource in PEM format for verifying the remote endpoint’s certificate

null

MEDIUM

camel.component.grpc.lazyStartProducer

Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.

false

MEDIUM

camel.component.grpc.basicPropertyBinding

Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities

false

MEDIUM