camel-undertow-kafka-connector sink configuration

Connector Description: Expose HTTP and WebSocket endpoints and access external HTTP/WebSocket servers.

When using camel-undertow-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-undertow-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.undertow.CamelUndertowSinkConnector

The camel-undertow sink connector supports 29 options, which are listed below.

Name Description Default Priority

camel.sink.path.httpURI

Required The url of the HTTP endpoint to use.

HIGH

camel.sink.endpoint.useStreaming

For HTTP endpoint: if true, text and binary messages will be wrapped as java.io.InputStream before they are passed to an Exchange; otherwise they will be passed as byte. For WebSocket endpoint: if true, text and binary messages will be wrapped as java.io.Reader and java.io.InputStream respectively before they are passed to an Exchange; otherwise they will be passed as String and byte respectively.

false

MEDIUM

camel.sink.endpoint.cookieHandler

Configure a cookie handler to maintain a HTTP session.

MEDIUM

camel.sink.endpoint.keepAlive

Setting to ensure socket is not closed due to inactivity.

"true"

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.options

Sets additional channel options. The options that can be used are defined in org.xnio.Options. To configure from endpoint uri, then prefix each option with option., such as option.close-abort=true&option.send-buffer=8192.

MEDIUM

camel.sink.endpoint.preserveHostHeader

If the option is true, UndertowProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL’s for a proxied service.

true

MEDIUM

camel.sink.endpoint.reuseAddresses

Setting to facilitate socket multiplexing.

"true"

MEDIUM

camel.sink.endpoint.tcpNoDelay

Setting to improve TCP protocol performance.

"true"

MEDIUM

camel.sink.endpoint.throwExceptionOnFailure

Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code.

"true"

MEDIUM

camel.sink.endpoint.transferException

If enabled and an Exchange failed processing on the consumer side and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.

"false"

MEDIUM

camel.sink.endpoint.accessLogReceiver

Which Undertow AccessLogReceiver should be used Will use JBossLoggingAccessLogReceiver if not specified.

MEDIUM

camel.sink.endpoint.headerFilterStrategy

To use a custom HeaderFilterStrategy to filter header to and from Camel message.

MEDIUM

camel.sink.endpoint.undertowHttpBinding

To use a custom UndertowHttpBinding to control the mapping between Camel message and undertow.

MEDIUM

camel.sink.endpoint.allowedRoles

Configuration used by UndertowSecurityProvider. Comma separated list of allowed roles.

MEDIUM

camel.sink.endpoint.securityConfiguration

OConfiguration used by UndertowSecurityProvider. Security configuration object for use from UndertowSecurityProvider. Configuration is UndertowSecurityProvider specific. Each provider decides whether accepts configuration.

MEDIUM

camel.sink.endpoint.securityProvider

Security provider allows plug in the provider, which will be used to secure requests. SPI approach could be used too (endpoint then finds security provider using SPI).

MEDIUM

camel.sink.endpoint.sslContextParameters

To configure security using SSLContextParameters.

MEDIUM

camel.sink.endpoint.sendTimeout

Timeout in milliseconds when sending to a websocket channel. The default timeout is 30000 (30 seconds).

"30000"

MEDIUM

camel.sink.endpoint.sendToAll

To send to all websocket subscribers. Can be used to configure on endpoint level, instead of having to use the UndertowConstants.SEND_TO_ALL header on the message.

MEDIUM

camel.component.undertow.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.undertow.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

MEDIUM

camel.component.undertow.hostOptions

To configure common options, such as thread pools.

MEDIUM

camel.component.undertow.undertowHttpBinding

To use a custom HttpBinding to control the mapping between Camel message and HttpClient.

MEDIUM

camel.component.undertow.allowedRoles

Configuration used by UndertowSecurityProvider. Comma separated list of allowed roles.

MEDIUM

camel.component.undertow.securityConfiguration

Configuration used by UndertowSecurityProvider. Security configuration object for use from UndertowSecurityProvider. Configuration is UndertowSecurityProvider specific. Each provider decides, whether it accepts configuration.

MEDIUM

camel.component.undertow.securityProvider

Security provider allows plug in the provider, which will be used to secure requests. SPI approach could be used too (component then finds security provider using SPI).

MEDIUM

camel.component.undertow.sslContextParameters

To configure security using SSLContextParameters.

MEDIUM

camel.component.undertow.useGlobalSslContextParameters

Enable usage of global SSL context parameters.

false

MEDIUM

The camel-undertow sink connector has no converters out of the box.

The camel-undertow sink connector has no transforms out of the box.

The camel-undertow sink connector has no aggregation strategies out of the box.