camel-grpc-kafka-connector source configuration

Connector description: Expose gRPC endpoints and access external gRPC endpoints.

When using camel-grpc-kafka-connector as source 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 Source connector in Kafka connect you’ll need to set the following connector.class

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

The camel-grpc source connector supports 28 options, which are listed below.

Name Description Default Required Priority

camel.source.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

true

HIGH

camel.source.path.port

The gRPC local or remote server port

null

true

HIGH

camel.source.path.service

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

null

true

HIGH

camel.source.endpoint.autoDiscoverClient Interceptors

Setting the autoDiscoverClientInterceptors mechanism, if true, the component will look for a ClientInterceptor instance in the registry automatically otherwise it will skip that checking.

true

false

MEDIUM

camel.source.endpoint.flowControlWindow

The HTTP/2 flow control window size (MiB)

1048576

false

MEDIUM

camel.source.endpoint.maxMessageSize

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

4194304

false

MEDIUM

camel.source.endpoint.bridgeErrorHandler

Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.

false

false

MEDIUM

camel.source.endpoint.consumerStrategy

This option specifies the top-level strategy for processing service requests and responses in streaming mode. If an aggregation strategy is selected, all requests will be accumulated in the list, then transferred to the flow, and the accumulated responses will be sent to the sender. If a propagation strategy is selected, request is sent to the stream, and the response will be immediately sent back to the sender. One of: [AGGREGATION] [PROPAGATION]

"PROPAGATION"

false

MEDIUM

camel.source.endpoint.forwardOnCompleted

Determines if onCompleted events should be pushed to the Camel route.

false

false

MEDIUM

camel.source.endpoint.forwardOnError

Determines if onError events should be pushed to the Camel route. Exceptions will be set as message body.

false

false

MEDIUM

camel.source.endpoint.maxConcurrentCallsPer Connection

The maximum number of concurrent calls permitted for each incoming server connection

2147483647

false

MEDIUM

camel.source.endpoint.routeControlledStream Observer

Lets the route to take control over stream observer. If this value is set to true, then the response observer of gRPC call will be set with the name GrpcConstants.GRPC_RESPONSE_OBSERVER in the Exchange object. Please note that the stream observer’s onNext(), onError(), onCompleted() methods should be called in the route.

false

false

MEDIUM

camel.source.endpoint.exceptionHandler

To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored.

null

false

MEDIUM

camel.source.endpoint.exchangePattern

Sets the exchange pattern when the consumer creates an exchange. One of: [InOnly] [InOut] [InOptionalOut]

null

false

MEDIUM

camel.source.endpoint.synchronous

Sets whether synchronous processing should be strictly used

false

false

MEDIUM

camel.source.endpoint.authenticationType

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

"NONE"

false

MEDIUM

camel.source.endpoint.jwtAlgorithm

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

"HMAC256"

false

MEDIUM

camel.source.endpoint.jwtIssuer

JSON Web Token issuer

null

false

MEDIUM

camel.source.endpoint.jwtSecret

JSON Web Token secret

null

false

MEDIUM

camel.source.endpoint.jwtSubject

JSON Web Token subject

null

false

MEDIUM

camel.source.endpoint.keyCertChainResource

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

null

false

MEDIUM

camel.source.endpoint.keyPassword

The PKCS#8 private key file password

null

false

MEDIUM

camel.source.endpoint.keyResource

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

null

false

MEDIUM

camel.source.endpoint.negotiationType

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

"PLAINTEXT"

false

MEDIUM

camel.source.endpoint.serviceAccountResource

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

null

false

MEDIUM

camel.source.endpoint.trustCertCollectionResource

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

null

false

MEDIUM

camel.component.grpc.bridgeErrorHandler

Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored.

false

false

MEDIUM

camel.component.grpc.autowiredEnabled

Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.

true

false

MEDIUM

The camel-grpc source connector has no converters out of the box.

The camel-grpc source connector has no transforms out of the box.

The camel-grpc source connector has no aggregation strategies out of the box.