camel-salesforce-kafka-connector source configuration

Connector Description: Communicate with Salesforce using Java DTOs.

When using camel-salesforce-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-salesforce-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.salesforce.CamelSalesforceSourceConnector

The camel-salesforce source connector supports 125 options, which are listed below.

Name Description Default Priority

camel.source.path.topicName

The name of the topic/channel to use.

MEDIUM

camel.source.endpoint.apexMethod

APEX method name.

MEDIUM

camel.source.endpoint.apexQueryParams

Query params for APEX method.

MEDIUM

camel.source.endpoint.apiVersion

Salesforce API version.

"50.0"

MEDIUM

camel.source.endpoint.backoffIncrement

Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.

1000L

MEDIUM

camel.source.endpoint.batchId

Bulk API Batch ID.

MEDIUM

camel.source.endpoint.contentType

Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON].

Enum values:

  • XML

  • CSV

  • JSON

  • ZIP_XML

  • ZIP_CSV

  • ZIP_JSON

MEDIUM

camel.source.endpoint.defaultReplayId

Default replayId setting if no value is found in initialReplayIdMap.

"-1"

MEDIUM

camel.source.endpoint.format

Payload format to use for Salesforce API calls, either JSON or XML, defaults to JSON One of: [JSON] [XML].

Enum values:

  • JSON

  • XML

MEDIUM

camel.source.endpoint.httpClient

Custom Jetty Http Client to use to connect to Salesforce.

MEDIUM

camel.source.endpoint.includeDetails

Include details in Salesforce1 Analytics report, defaults to false.

MEDIUM

camel.source.endpoint.initialReplayIdMap

Replay IDs to start from per channel name.

MEDIUM

camel.source.endpoint.instanceId

Salesforce1 Analytics report execution instance ID.

MEDIUM

camel.source.endpoint.jobId

Bulk API Job ID.

MEDIUM

camel.source.endpoint.limit

Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation.

MEDIUM

camel.source.endpoint.maxBackoff

Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.

30000L

MEDIUM

camel.source.endpoint.notFoundBehaviour

Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL].

Enum values:

  • EXCEPTION

  • NULL

"EXCEPTION"

MEDIUM

camel.source.endpoint.notifyForFields

Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE].

Enum values:

  • ALL

  • REFERENCED

  • SELECT

  • WHERE

MEDIUM

camel.source.endpoint.notifyForOperationCreate

Notify for create operation, defaults to false (API version = 29.0).

MEDIUM

camel.source.endpoint.notifyForOperationDelete

Notify for delete operation, defaults to false (API version = 29.0).

MEDIUM

camel.source.endpoint.notifyForOperations

Notify for operations, options are ALL, CREATE, EXTENDED, UPDATE (API version 29.0) One of: [ALL] [CREATE] [EXTENDED] [UPDATE].

Enum values:

  • ALL

  • CREATE

  • EXTENDED

  • UPDATE

MEDIUM

camel.source.endpoint.notifyForOperationUndelete

Notify for un-delete operation, defaults to false (API version = 29.0).

MEDIUM

camel.source.endpoint.notifyForOperationUpdate

Notify for update operation, defaults to false (API version = 29.0).

MEDIUM

camel.source.endpoint.objectMapper

Custom Jackson ObjectMapper to use when serializing/deserializing Salesforce objects.

MEDIUM

camel.source.endpoint.pkChunking

Use PK Chunking. Only for use in original Bulk API. Bulk 2.0 API performs PK chunking automatically, if necessary.

MEDIUM

camel.source.endpoint.pkChunkingChunkSize

Chunk size for use with PK Chunking. If unspecified, salesforce default is 100,000. Maximum size is 250,000.

MEDIUM

camel.source.endpoint.pkChunkingParent

Specifies the parent object when you’re enabling PK chunking for queries on sharing objects. The chunks are based on the parent object’s records rather than the sharing object’s records. For example, when querying on AccountShare, specify Account as the parent object. PK chunking is supported for sharing objects as long as the parent object is supported.

MEDIUM

camel.source.endpoint.pkChunkingStartRow

Specifies the 15-character or 18-character record ID to be used as the lower boundary for the first chunk. Use this parameter to specify a starting ID when restarting a job that failed between batches.

MEDIUM

camel.source.endpoint.queryLocator

Query Locator provided by salesforce for use when a query results in more records than can be retrieved in a single call. Use this value in a subsequent call to retrieve additional records.

MEDIUM

camel.source.endpoint.rawPayload

Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default.

false

MEDIUM

camel.source.endpoint.reportId

Salesforce1 Analytics report Id.

MEDIUM

camel.source.endpoint.reportMetadata

Salesforce1 Analytics report metadata for filtering.

MEDIUM

camel.source.endpoint.resultId

Bulk API Result ID.

MEDIUM

camel.source.endpoint.sObjectBlobFieldName

SObject blob field name.

MEDIUM

camel.source.endpoint.sObjectClass

Fully qualified SObject class name, usually generated using camel-salesforce-maven-plugin.

MEDIUM

camel.source.endpoint.sObjectFields

SObject fields to retrieve.

MEDIUM

camel.source.endpoint.sObjectId

SObject ID if required by API.

MEDIUM

camel.source.endpoint.sObjectIdName

SObject external ID field name.

MEDIUM

camel.source.endpoint.sObjectIdValue

SObject external ID field value.

MEDIUM

camel.source.endpoint.sObjectName

SObject name if required or supported by API.

MEDIUM

camel.source.endpoint.sObjectQuery

Salesforce SOQL query string.

MEDIUM

camel.source.endpoint.sObjectSearch

Salesforce SOSL search string.

MEDIUM

camel.source.endpoint.updateTopic

Whether to update an existing Push Topic when using the Streaming API, defaults to false.

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

MEDIUM

camel.source.endpoint.replayId

The replayId value to use when subscribing.

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.

MEDIUM

camel.source.endpoint.exchangePattern

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

Enum values:

  • InOnly

  • InOut

  • InOptionalOut

MEDIUM

camel.component.salesforce.apexMethod

APEX method name.

MEDIUM

camel.component.salesforce.apexQueryParams

Query params for APEX method.

MEDIUM

camel.component.salesforce.apiVersion

Salesforce API version.

"50.0"

MEDIUM

camel.component.salesforce.backoffIncrement

Backoff interval increment for Streaming connection restart attempts for failures beyond CometD auto-reconnect.

1000L

MEDIUM

camel.component.salesforce.batchId

Bulk API Batch ID.

MEDIUM

camel.component.salesforce.contentType

Bulk API content type, one of XML, CSV, ZIP_XML, ZIP_CSV One of: [XML] [CSV] [JSON] [ZIP_XML] [ZIP_CSV] [ZIP_JSON].

Enum values:

  • XML

  • CSV

  • JSON

  • ZIP_XML

  • ZIP_CSV

  • ZIP_JSON

MEDIUM

camel.component.salesforce.defaultReplayId

Default replayId setting if no value is found in initialReplayIdMap.

"-1"

MEDIUM

camel.component.salesforce.format

Payload format to use for Salesforce API calls, either JSON or XML, defaults to JSON One of: [JSON] [XML].

Enum values:

  • JSON

  • XML

MEDIUM

camel.component.salesforce.httpClient

Custom Jetty Http Client to use to connect to Salesforce.

MEDIUM

camel.component.salesforce.httpClientConnectionTimeout

Connection timeout used by the HttpClient when connecting to the Salesforce server.

60000L

MEDIUM

camel.component.salesforce.httpClientIdleTimeout

Timeout used by the HttpClient when waiting for response from the Salesforce server.

10000L

MEDIUM

camel.component.salesforce.httpMaxContentLength

Max content length of an HTTP response.

MEDIUM

camel.component.salesforce.httpRequestBufferSize

HTTP request buffer size. May need to be increased for large SOQL queries.

"8192"

MEDIUM

camel.component.salesforce.includeDetails

Include details in Salesforce1 Analytics report, defaults to false.

MEDIUM

camel.component.salesforce.initialReplayIdMap

Replay IDs to start from per channel name.

MEDIUM

camel.component.salesforce.instanceId

Salesforce1 Analytics report execution instance ID.

MEDIUM

camel.component.salesforce.jobId

Bulk API Job ID.

MEDIUM

camel.component.salesforce.limit

Limit on number of returned records. Applicable to some of the API, check the Salesforce documentation.

MEDIUM

camel.component.salesforce.maxBackoff

Maximum backoff interval for Streaming connection restart attempts for failures beyond CometD auto-reconnect.

30000L

MEDIUM

camel.component.salesforce.notFoundBehaviour

Sets the behaviour of 404 not found status received from Salesforce API. Should the body be set to NULL NotFoundBehaviour#NULL or should a exception be signaled on the exchange NotFoundBehaviour#EXCEPTION - the default. One of: [EXCEPTION] [NULL].

Enum values:

  • EXCEPTION

  • NULL

"EXCEPTION"

MEDIUM

camel.component.salesforce.notifyForFields

Notify for fields, options are ALL, REFERENCED, SELECT, WHERE One of: [ALL] [REFERENCED] [SELECT] [WHERE].

Enum values:

  • ALL

  • REFERENCED

  • SELECT

  • WHERE

MEDIUM

camel.component.salesforce.notifyForOperationCreate

Notify for create operation, defaults to false (API version = 29.0).

MEDIUM

camel.component.salesforce.notifyForOperationDelete

Notify for delete operation, defaults to false (API version = 29.0).

MEDIUM

camel.component.salesforce.notifyForOperations

Notify for operations, options are ALL, CREATE, EXTENDED, UPDATE (API version 29.0) One of: [ALL] [CREATE] [EXTENDED] [UPDATE].

Enum values:

  • ALL

  • CREATE

  • EXTENDED

  • UPDATE

MEDIUM

camel.component.salesforce.notifyForOperationUndelete

Notify for un-delete operation, defaults to false (API version = 29.0).

MEDIUM

camel.component.salesforce.notifyForOperationUpdate

Notify for update operation, defaults to false (API version = 29.0).

MEDIUM

camel.component.salesforce.objectMapper

Custom Jackson ObjectMapper to use when serializing/deserializing Salesforce objects.

MEDIUM

camel.component.salesforce.packages

In what packages are the generated DTO classes. Typically the classes would be generated using camel-salesforce-maven-plugin. This must be set if using the XML format. Also, set it if using the generated DTOs to gain the benefit of using short SObject names in parameters/header values. Multiple packages can be separated by comma.

MEDIUM

camel.component.salesforce.pkChunking

Use PK Chunking. Only for use in original Bulk API. Bulk 2.0 API performs PK chunking automatically, if necessary.

MEDIUM

camel.component.salesforce.pkChunkingChunkSize

Chunk size for use with PK Chunking. If unspecified, salesforce default is 100,000. Maximum size is 250,000.

MEDIUM

camel.component.salesforce.pkChunkingParent

Specifies the parent object when you’re enabling PK chunking for queries on sharing objects. The chunks are based on the parent object’s records rather than the sharing object’s records. For example, when querying on AccountShare, specify Account as the parent object. PK chunking is supported for sharing objects as long as the parent object is supported.

MEDIUM

camel.component.salesforce.pkChunkingStartRow

Specifies the 15-character or 18-character record ID to be used as the lower boundary for the first chunk. Use this parameter to specify a starting ID when restarting a job that failed between batches.

MEDIUM

camel.component.salesforce.queryLocator

Query Locator provided by salesforce for use when a query results in more records than can be retrieved in a single call. Use this value in a subsequent call to retrieve additional records.

MEDIUM

camel.component.salesforce.rawPayload

Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default.

false

MEDIUM

camel.component.salesforce.reportId

Salesforce1 Analytics report Id.

MEDIUM

camel.component.salesforce.reportMetadata

Salesforce1 Analytics report metadata for filtering.

MEDIUM

camel.component.salesforce.resultId

Bulk API Result ID.

MEDIUM

camel.component.salesforce.sObjectBlobFieldName

SObject blob field name.

MEDIUM

camel.component.salesforce.sObjectClass

Fully qualified SObject class name, usually generated using camel-salesforce-maven-plugin.

MEDIUM

camel.component.salesforce.sObjectFields

SObject fields to retrieve.

MEDIUM

camel.component.salesforce.sObjectId

SObject ID if required by API.

MEDIUM

camel.component.salesforce.sObjectIdName

SObject external ID field name.

MEDIUM

camel.component.salesforce.sObjectIdValue

SObject external ID field value.

MEDIUM

camel.component.salesforce.sObjectName

SObject name if required or supported by API.

MEDIUM

camel.component.salesforce.sObjectQuery

Salesforce SOQL query string.

MEDIUM

camel.component.salesforce.sObjectSearch

Salesforce SOSL search string.

MEDIUM

camel.component.salesforce.updateTopic

Whether to update an existing Push Topic when using the Streaming API, defaults to false.

false

MEDIUM

camel.component.salesforce.config

Global endpoint configuration - use to set values that are common to all endpoints.

MEDIUM

camel.component.salesforce.httpClientProperties

Used to set any properties that can be configured on the underlying HTTP client. Have a look at properties of SalesforceHttpClient and the Jetty HttpClient for all available options.

MEDIUM

camel.component.salesforce.longPollingTransportProperties

Used to set any properties that can be configured on the LongPollingTransport used by the BayeuxClient (CometD) used by the streaming api.

MEDIUM

camel.component.salesforce.workerPoolMaxSize

Maximum size of the thread pool used to handle HTTP responses.

20

MEDIUM

camel.component.salesforce.workerPoolSize

Size of the thread pool used to handle HTTP responses.

10

MEDIUM

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

MEDIUM

camel.component.salesforce.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.salesforce.httpProxyExcludedAddresses

A list of addresses for which HTTP proxy server should not be used.

MEDIUM

camel.component.salesforce.httpProxyHost

Hostname of the HTTP proxy server to use.

MEDIUM

camel.component.salesforce.httpProxyIncludedAddresses

A list of addresses for which HTTP proxy server should be used.

MEDIUM

camel.component.salesforce.httpProxyPort

Port number of the HTTP proxy server to use.

MEDIUM

camel.component.salesforce.httpProxySocks4

If set to true the configures the HTTP proxy to use as a SOCKS4 proxy.

false

MEDIUM

camel.component.salesforce.authenticationType

Explicit authentication method to be used, one of USERNAME_PASSWORD, REFRESH_TOKEN or JWT. Salesforce component can auto-determine the authentication method to use from the properties set, set this property to eliminate any ambiguity. One of: [USERNAME_PASSWORD] [REFRESH_TOKEN] [JWT].

Enum values:

  • USERNAME_PASSWORD

  • REFRESH_TOKEN

  • JWT

MEDIUM

camel.component.salesforce.clientId

Required OAuth Consumer Key of the connected app configured in the Salesforce instance setup. Typically a connected app needs to be configured but one can be provided by installing a package.

HIGH

camel.component.salesforce.clientSecret

OAuth Consumer Secret of the connected app configured in the Salesforce instance setup.

MEDIUM

camel.component.salesforce.httpProxyAuthUri

Used in authentication against the HTTP proxy server, needs to match the URI of the proxy server in order for the httpProxyUsername and httpProxyPassword to be used for authentication.

MEDIUM

camel.component.salesforce.httpProxyPassword

Password to use to authenticate against the HTTP proxy server.

MEDIUM

camel.component.salesforce.httpProxyRealm

Realm of the proxy server, used in preemptive Basic/Digest authentication methods against the HTTP proxy server.

MEDIUM

camel.component.salesforce.httpProxySecure

If set to false disables the use of TLS when accessing the HTTP proxy.

true

MEDIUM

camel.component.salesforce.httpProxyUseDigestAuth

If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used.

false

MEDIUM

camel.component.salesforce.httpProxyUsername

Username to use to authenticate against the HTTP proxy server.

MEDIUM

camel.component.salesforce.instanceUrl

URL of the Salesforce instance used after authentication, by default received from Salesforce on successful authentication.

MEDIUM

camel.component.salesforce.keystore

KeyStore parameters to use in OAuth JWT flow. The KeyStore should contain only one entry with private key and certificate. Salesforce does not verify the certificate chain, so this can easily be a selfsigned certificate. Make sure that you upload the certificate to the corresponding connected app.

MEDIUM

camel.component.salesforce.lazyLogin

If set to true prevents the component from authenticating to Salesforce with the start of the component. You would generally set this to the (default) false and authenticate early and be immediately aware of any authentication issues.

false

MEDIUM

camel.component.salesforce.loginConfig

All authentication configuration in one nested bean, all properties set there can be set directly on the component as well.

MEDIUM

camel.component.salesforce.loginUrl

Required URL of the Salesforce instance used for authentication, by default set to https://login.salesforce.com.

"https://login.salesforce.com"

HIGH

camel.component.salesforce.password

Password used in OAuth flow to gain access to access token. It’s easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows. Make sure that you append security token to the end of the password if using one.

MEDIUM

camel.component.salesforce.refreshToken

Refresh token already obtained in the refresh token OAuth flow. One needs to setup a web application and configure a callback URL to receive the refresh token, or configure using the builtin callback at https://login.salesforce.com/services/oauth2/success or https://test.salesforce.com/services/oauth2/success and then retrive the refresh_token from the URL at the end of the flow. Note that in development organizations Salesforce allows hosting the callback web application at localhost.

MEDIUM

camel.component.salesforce.sslContextParameters

SSL parameters to use, see SSLContextParameters class for all available options.

MEDIUM

camel.component.salesforce.useGlobalSslContextParameters

Enable usage of global SSL context parameters.

false

MEDIUM

camel.component.salesforce.userName

Username used in OAuth flow to gain access to access token. It’s easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows.

MEDIUM

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

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

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