Package io.camunda.zeebe.client.impl
Class ZeebeClientBuilderImpl
java.lang.Object
io.camunda.zeebe.client.impl.ZeebeClientBuilderImpl
- All Implemented Interfaces:
ZeebeClientBuilder
,ZeebeClientConfiguration
public final class ZeebeClientBuilderImpl
extends Object
implements ZeebeClientBuilder, ZeebeClientConfiguration
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapplyEnvironmentVariableOverrides
(boolean applyEnvironmentVariableOverrides) Allows to disable the mechanism to override some properties by ENVIRONMENT VARIABLES.build()
caCertificatePath
(String certificatePath) Path to a root CA certificate to be used instead of the certificate in the default default store.credentialsProvider
(CredentialsProvider credentialsProvider) A customCredentialsProvider
which will be used to apply authentication credentials to requests.defaultJobPollInterval
(Duration pollInterval) The interval which a job worker is periodically polling for new jobs.defaultJobTimeout
(Duration timeout) The timeout which is used when none is provided for a job worker.defaultJobWorkerMaxJobsActive
(int maxJobsActive) defaultJobWorkerName
(String workerName) The name of the worker which is used when none is set for a job worker.defaultJobWorkerStreamEnabled
(boolean streamEnabled) A custom streamEnabled allows the client to use job stream instead of job poll.defaultJobWorkerTenantIds
(List<String> tenantIds) defaultMessageTimeToLive
(Duration timeToLive) The time-to-live which is used when none is provided for a message.defaultRequestTimeout
(Duration requestTimeout) The request timeout used if not overridden by the command.defaultTenantId
(String tenantId) gatewayAddress
(String gatewayAddress) int
boolean
List<io.grpc.ClientInterceptor>
int
int
int
boolean
jobWorkerExecutor
(ScheduledExecutorService executor, boolean takeOwnership) Allows passing a custom executor service that will be shared by all job workers created via this client.Time interval between keep alive messages sent to the gateway.maxMessageSize
(int maxMessageSize) A custom maxMessageSize allows the client to receive larger or smaller responses from Zeebe.maxMetadataSize
(int maxMetadataSize) A custom maxMetadataSize allows the client to receive larger or smaller response headers from Zeebe.numJobWorkerExecutionThreads
(int numSubscriptionThreads) overrideAuthority
(String authority) Overrides the authority used with TLS virtual hosting.boolean
toString()
Use a plaintext connection between the client and the gateway.withInterceptors
(io.grpc.ClientInterceptor... interceptors) withJsonMapper
(JsonMapper jsonMapper) withProperties
(Properties properties) Sets all the properties from aProperties
object.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.camunda.zeebe.client.ZeebeClientBuilder
jobWorkerExecutor
-
Field Details
-
PLAINTEXT_CONNECTION_VAR
- See Also:
-
CA_CERTIFICATE_VAR
- See Also:
-
KEEP_ALIVE_VAR
- See Also:
-
OVERRIDE_AUTHORITY_VAR
- See Also:
-
ZEEBE_CLIENT_WORKER_STREAM_ENABLED
- See Also:
-
DEFAULT_GATEWAY_ADDRESS
- See Also:
-
DEFAULT_TENANT_ID_VAR
- See Also:
-
DEFAULT_JOB_WORKER_TENANT_IDS_VAR
- See Also:
-
DEFAULT_JOB_WORKER_NAME
- See Also:
-
-
Constructor Details
-
ZeebeClientBuilderImpl
public ZeebeClientBuilderImpl()
-
-
Method Details
-
getGatewayAddress
- Specified by:
getGatewayAddress
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultTenantId
- Specified by:
getDefaultTenantId
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobWorkerTenantIds
- Specified by:
getDefaultJobWorkerTenantIds
in interfaceZeebeClientConfiguration
- See Also:
-
getNumJobWorkerExecutionThreads
public int getNumJobWorkerExecutionThreads()- Specified by:
getNumJobWorkerExecutionThreads
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobWorkerMaxJobsActive
public int getDefaultJobWorkerMaxJobsActive()- Specified by:
getDefaultJobWorkerMaxJobsActive
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobWorkerName
- Specified by:
getDefaultJobWorkerName
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobTimeout
- Specified by:
getDefaultJobTimeout
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobPollInterval
- Specified by:
getDefaultJobPollInterval
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultMessageTimeToLive
- Specified by:
getDefaultMessageTimeToLive
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultRequestTimeout
- Specified by:
getDefaultRequestTimeout
in interfaceZeebeClientConfiguration
- See Also:
-
isPlaintextConnectionEnabled
public boolean isPlaintextConnectionEnabled()- Specified by:
isPlaintextConnectionEnabled
in interfaceZeebeClientConfiguration
- See Also:
-
getCaCertificatePath
- Specified by:
getCaCertificatePath
in interfaceZeebeClientConfiguration
- See Also:
-
getCredentialsProvider
- Specified by:
getCredentialsProvider
in interfaceZeebeClientConfiguration
- See Also:
-
getKeepAlive
- Specified by:
getKeepAlive
in interfaceZeebeClientConfiguration
- See Also:
-
getInterceptors
- Specified by:
getInterceptors
in interfaceZeebeClientConfiguration
-
getJsonMapper
- Specified by:
getJsonMapper
in interfaceZeebeClientConfiguration
- See Also:
-
getOverrideAuthority
- Specified by:
getOverrideAuthority
in interfaceZeebeClientConfiguration
- See Also:
-
getMaxMessageSize
public int getMaxMessageSize()- Specified by:
getMaxMessageSize
in interfaceZeebeClientConfiguration
- See Also:
-
getMaxMetadataSize
public int getMaxMetadataSize()- Specified by:
getMaxMetadataSize
in interfaceZeebeClientConfiguration
- See Also:
-
jobWorkerExecutor
- Specified by:
jobWorkerExecutor
in interfaceZeebeClientConfiguration
- See Also:
-
ownsJobWorkerExecutor
public boolean ownsJobWorkerExecutor()- Specified by:
ownsJobWorkerExecutor
in interfaceZeebeClientConfiguration
- See Also:
-
getDefaultJobWorkerStreamEnabled
public boolean getDefaultJobWorkerStreamEnabled()- Specified by:
getDefaultJobWorkerStreamEnabled
in interfaceZeebeClientConfiguration
- See Also:
-
withProperties
Description copied from interface:ZeebeClientBuilder
Sets all the properties from aProperties
object. Can be used to configure the client from a properties file.See
ClientProperties
for valid property names.- Specified by:
withProperties
in interfaceZeebeClientBuilder
-
applyEnvironmentVariableOverrides
public ZeebeClientBuilder applyEnvironmentVariableOverrides(boolean applyEnvironmentVariableOverrides) Description copied from interface:ZeebeClientBuilder
Allows to disable the mechanism to override some properties by ENVIRONMENT VARIABLES. This is useful if a client shall be constructed for test cases or in an environment that wants to fully control properties (like Spring Boot).The default value is
true
.- Specified by:
applyEnvironmentVariableOverrides
in interfaceZeebeClientBuilder
-
gatewayAddress
- Specified by:
gatewayAddress
in interfaceZeebeClientBuilder
- Parameters:
gatewayAddress
- the IP socket address of a gateway that the client can initially connect to. Must be in formathost:port
. The default value is0.0.0.0:26500
.
-
defaultTenantId
- Specified by:
defaultTenantId
in interfaceZeebeClientBuilder
- Parameters:
tenantId
- the tenant identifier which is used for tenant-aware commands when no tenant identifier is set. The default value isCommandWithTenantStep.DEFAULT_TENANT_IDENTIFIER
.
-
defaultJobWorkerTenantIds
- Specified by:
defaultJobWorkerTenantIds
in interfaceZeebeClientBuilder
- Parameters:
tenantIds
- the tenant identifiers which are used for job-activation commands when no tenant identifiers are set. The default value contains onlyCommandWithTenantStep.DEFAULT_TENANT_IDENTIFIER
.
-
defaultJobWorkerMaxJobsActive
- Specified by:
defaultJobWorkerMaxJobsActive
in interfaceZeebeClientBuilder
- Parameters:
maxJobsActive
- Default value forJobWorkerBuilderStep1.JobWorkerBuilderStep3.maxJobsActive(int)
. Default value is 32.
-
numJobWorkerExecutionThreads
- Specified by:
numJobWorkerExecutionThreads
in interfaceZeebeClientBuilder
- Parameters:
numSubscriptionThreads
- The number of threads for invocation of job workers. Setting this value to 0 effectively disables subscriptions and workers. Default value is 1.
-
jobWorkerExecutor
public ZeebeClientBuilder jobWorkerExecutor(ScheduledExecutorService executor, boolean takeOwnership) Description copied from interface:ZeebeClientBuilder
Allows passing a custom executor service that will be shared by all job workers created via this client.Polling and handling jobs (e.g. via
JobHandler
will all be invoked on this executor.When non-null, this setting override
ZeebeClientBuilder.numJobWorkerExecutionThreads(int)
.- Specified by:
jobWorkerExecutor
in interfaceZeebeClientBuilder
- Parameters:
executor
- an executor service to use when invoking job workerstakeOwnership
- if true, the executor will be closed when the client is closed. otherwise, it's up to the caller to manage its lifecycle
-
defaultJobWorkerName
Description copied from interface:ZeebeClientBuilder
The name of the worker which is used when none is set for a job worker. Default is 'default'.- Specified by:
defaultJobWorkerName
in interfaceZeebeClientBuilder
-
defaultJobTimeout
Description copied from interface:ZeebeClientBuilder
The timeout which is used when none is provided for a job worker. Default is 5 minutes.- Specified by:
defaultJobTimeout
in interfaceZeebeClientBuilder
-
defaultJobPollInterval
Description copied from interface:ZeebeClientBuilder
The interval which a job worker is periodically polling for new jobs. Default is 100 milliseconds.- Specified by:
defaultJobPollInterval
in interfaceZeebeClientBuilder
-
defaultMessageTimeToLive
Description copied from interface:ZeebeClientBuilder
The time-to-live which is used when none is provided for a message. Default is 1 hour.- Specified by:
defaultMessageTimeToLive
in interfaceZeebeClientBuilder
-
defaultRequestTimeout
Description copied from interface:ZeebeClientBuilder
The request timeout used if not overridden by the command. Default is 10 seconds.- Specified by:
defaultRequestTimeout
in interfaceZeebeClientBuilder
-
usePlaintext
Description copied from interface:ZeebeClientBuilder
Use a plaintext connection between the client and the gateway.- Specified by:
usePlaintext
in interfaceZeebeClientBuilder
-
caCertificatePath
Description copied from interface:ZeebeClientBuilder
Path to a root CA certificate to be used instead of the certificate in the default default store.- Specified by:
caCertificatePath
in interfaceZeebeClientBuilder
-
credentialsProvider
Description copied from interface:ZeebeClientBuilder
A customCredentialsProvider
which will be used to apply authentication credentials to requests.- Specified by:
credentialsProvider
in interfaceZeebeClientBuilder
-
keepAlive
Description copied from interface:ZeebeClientBuilder
Time interval between keep alive messages sent to the gateway. The default is 45 seconds.- Specified by:
keepAlive
in interfaceZeebeClientBuilder
-
withInterceptors
- Specified by:
withInterceptors
in interfaceZeebeClientBuilder
-
withJsonMapper
- Specified by:
withJsonMapper
in interfaceZeebeClientBuilder
-
overrideAuthority
Description copied from interface:ZeebeClientBuilder
Overrides the authority used with TLS virtual hosting. Specifically, to override hostname verification in the TLS handshake. It does not change what host is actually connected to.This method is intended for testing, but may safely be used outside of tests as an alternative to DNS overrides.
This setting does nothing if a
plaintext
connection is used.- Specified by:
overrideAuthority
in interfaceZeebeClientBuilder
- Parameters:
authority
- The alternative authority to use, commonly in the formhost
orhost:port
-
maxMessageSize
Description copied from interface:ZeebeClientBuilder
A custom maxMessageSize allows the client to receive larger or smaller responses from Zeebe. Technically, it specifies the maxInboundMessageSize of the gRPC channel. The default is 4194304 = 4MB.- Specified by:
maxMessageSize
in interfaceZeebeClientBuilder
-
maxMetadataSize
Description copied from interface:ZeebeClientBuilder
A custom maxMetadataSize allows the client to receive larger or smaller response headers from Zeebe. Technically, it specifies the maxInboundMetadataSize of the gRPC channel. The default is 16384 = 16KB .- Specified by:
maxMetadataSize
in interfaceZeebeClientBuilder
-
defaultJobWorkerStreamEnabled
Description copied from interface:ZeebeClientBuilder
A custom streamEnabled allows the client to use job stream instead of job poll. The default value is set as enabled.- Specified by:
defaultJobWorkerStreamEnabled
in interfaceZeebeClientBuilder
-
build
- Specified by:
build
in interfaceZeebeClientBuilder
- Returns:
- a new
ZeebeClient
with the provided configuration options.
-
toString
-