Package io.camunda.client.impl
Class CamundaClientBuilderImpl
java.lang.Object
io.camunda.client.impl.CamundaClientBuilderImpl
- All Implemented Interfaces:
CamundaClientBuilder,CamundaClientConfiguration
public final class CamundaClientBuilderImpl
extends Object
implements CamundaClientBuilder, CamundaClientConfiguration
-
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 customCredentialsProviderwhich 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) List<org.apache.hc.client5.http.async.AsyncExecChainHandler> intbooleanList<io.grpc.ClientInterceptor> intintintgrpcAddress(URI grpcAddress) booleanjobWorkerExecutor(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 Camunda.maxMetadataSize(int maxMetadataSize) A custom maxMetadataSize allows the client to receive larger or smaller response headers from Camunda.numJobWorkerExecutionThreads(int numSubscriptionThreads) overrideAuthority(String authority) Overrides the authority used with TLS virtual hosting.booleanbooleanpreferRestOverGrpc(boolean preferRestOverGrpc) If true, will prefer to use REST over gRPC for calls which can be done over both REST and gRPC.restAddress(URI restAddress) toString()booleanuseDefaultRetryPolicy(boolean useDefaultRetryPolicy) If enabled, the client will make use of the default retry policy defined.Use a plaintext connection between the client and the gateway.withChainHandlers(org.apache.hc.client5.http.async.AsyncExecChainHandler... chainHandler) Custom implementations of the Apache HttpClientAsyncExecChainHandlermiddleware API.withInterceptors(io.grpc.ClientInterceptor... interceptors) Custom implementations of the gRPCClientInterceptormiddleware API.withJsonMapper(JsonMapper jsonMapper) withProperties(Properties properties) Sets all the properties from aPropertiesobject.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.camunda.client.CamundaClientBuilder
jobWorkerExecutor
-
Field Details
-
DEFAULT_GATEWAY_ADDRESS
- See Also:
-
DEFAULT_GRPC_ADDRESS
-
DEFAULT_REST_ADDRESS
-
DEFAULT_JOB_WORKER_NAME_VAR
- See Also:
-
-
Constructor Details
-
CamundaClientBuilderImpl
public CamundaClientBuilderImpl()
-
-
Method Details
-
getGatewayAddress
- Specified by:
getGatewayAddressin interfaceCamundaClientConfiguration- See Also:
-
getRestAddress
- Specified by:
getRestAddressin interfaceCamundaClientConfiguration- See Also:
-
getGrpcAddress
- Specified by:
getGrpcAddressin interfaceCamundaClientConfiguration- See Also:
-
getDefaultTenantId
- Specified by:
getDefaultTenantIdin interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobWorkerTenantIds
- Specified by:
getDefaultJobWorkerTenantIdsin interfaceCamundaClientConfiguration- See Also:
-
getNumJobWorkerExecutionThreads
public int getNumJobWorkerExecutionThreads()- Specified by:
getNumJobWorkerExecutionThreadsin interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobWorkerMaxJobsActive
public int getDefaultJobWorkerMaxJobsActive()- Specified by:
getDefaultJobWorkerMaxJobsActivein interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobWorkerName
- Specified by:
getDefaultJobWorkerNamein interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobTimeout
- Specified by:
getDefaultJobTimeoutin interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobPollInterval
- Specified by:
getDefaultJobPollIntervalin interfaceCamundaClientConfiguration- See Also:
-
getDefaultMessageTimeToLive
- Specified by:
getDefaultMessageTimeToLivein interfaceCamundaClientConfiguration- See Also:
-
getDefaultRequestTimeout
- Specified by:
getDefaultRequestTimeoutin interfaceCamundaClientConfiguration- See Also:
-
isPlaintextConnectionEnabled
public boolean isPlaintextConnectionEnabled()- Specified by:
isPlaintextConnectionEnabledin interfaceCamundaClientConfiguration- See Also:
-
getCaCertificatePath
- Specified by:
getCaCertificatePathin interfaceCamundaClientConfiguration- See Also:
-
getCredentialsProvider
- Specified by:
getCredentialsProviderin interfaceCamundaClientConfiguration- See Also:
-
getKeepAlive
- Specified by:
getKeepAlivein interfaceCamundaClientConfiguration- See Also:
-
getInterceptors
- Specified by:
getInterceptorsin interfaceCamundaClientConfiguration- See Also:
-
getChainHandlers
- Specified by:
getChainHandlersin interfaceCamundaClientConfiguration- See Also:
-
getJsonMapper
- Specified by:
getJsonMapperin interfaceCamundaClientConfiguration- See Also:
-
getOverrideAuthority
- Specified by:
getOverrideAuthorityin interfaceCamundaClientConfiguration- See Also:
-
getMaxMessageSize
public int getMaxMessageSize()- Specified by:
getMaxMessageSizein interfaceCamundaClientConfiguration- See Also:
-
getMaxMetadataSize
public int getMaxMetadataSize()- Specified by:
getMaxMetadataSizein interfaceCamundaClientConfiguration- See Also:
-
jobWorkerExecutor
- Specified by:
jobWorkerExecutorin interfaceCamundaClientConfiguration- See Also:
-
ownsJobWorkerExecutor
public boolean ownsJobWorkerExecutor()- Specified by:
ownsJobWorkerExecutorin interfaceCamundaClientConfiguration- See Also:
-
getDefaultJobWorkerStreamEnabled
public boolean getDefaultJobWorkerStreamEnabled()- Specified by:
getDefaultJobWorkerStreamEnabledin interfaceCamundaClientConfiguration- See Also:
-
useDefaultRetryPolicy
public boolean useDefaultRetryPolicy()- Specified by:
useDefaultRetryPolicyin interfaceCamundaClientConfiguration- See Also:
-
preferRestOverGrpc
public boolean preferRestOverGrpc()- Specified by:
preferRestOverGrpcin interfaceCamundaClientConfiguration- See Also:
-
withProperties
Description copied from interface:CamundaClientBuilderSets all the properties from aPropertiesobject. Can be used to configure the client from a properties file.See
ClientPropertiesfor valid property names.- Specified by:
withPropertiesin interfaceCamundaClientBuilder
-
applyEnvironmentVariableOverrides
public CamundaClientBuilder applyEnvironmentVariableOverrides(boolean applyEnvironmentVariableOverrides) Description copied from interface:CamundaClientBuilderAllows 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:
applyEnvironmentVariableOverridesin interfaceCamundaClientBuilder
-
gatewayAddress
- Specified by:
gatewayAddressin interfaceCamundaClientBuilder- 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.
-
restAddress
- Specified by:
restAddressin interfaceCamundaClientBuilder- Parameters:
restAddress- the REST API address of a gateway that the client can connect to. The address must be an absolute URL, including the scheme.The default value is
https://0.0.0.0:8080.
-
grpcAddress
- Specified by:
grpcAddressin interfaceCamundaClientBuilder- Parameters:
grpcAddress- the gRPC address of a gateway that the client can connect to. The address must be an absolute URL, including the scheme.The default value is
https://0.0.0.0:26500.
-
defaultTenantId
- Specified by:
defaultTenantIdin interfaceCamundaClientBuilder- 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:
defaultJobWorkerTenantIdsin interfaceCamundaClientBuilder- 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:
defaultJobWorkerMaxJobsActivein interfaceCamundaClientBuilder- Parameters:
maxJobsActive- Default value forJobWorkerBuilderStep1.JobWorkerBuilderStep3.maxJobsActive(int). Default value is 32.
-
numJobWorkerExecutionThreads
- Specified by:
numJobWorkerExecutionThreadsin interfaceCamundaClientBuilder- 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 CamundaClientBuilder jobWorkerExecutor(ScheduledExecutorService executor, boolean takeOwnership) Description copied from interface:CamundaClientBuilderAllows passing a custom executor service that will be shared by all job workers created via this client.Polling and handling jobs (e.g. via
JobHandlerwill all be invoked on this executor.When non-null, this setting override
CamundaClientBuilder.numJobWorkerExecutionThreads(int).- Specified by:
jobWorkerExecutorin interfaceCamundaClientBuilder- 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:CamundaClientBuilderThe name of the worker which is used when none is set for a job worker. Default is 'default'.- Specified by:
defaultJobWorkerNamein interfaceCamundaClientBuilder
-
defaultJobTimeout
Description copied from interface:CamundaClientBuilderThe timeout which is used when none is provided for a job worker. Default is 5 minutes.- Specified by:
defaultJobTimeoutin interfaceCamundaClientBuilder
-
defaultJobPollInterval
Description copied from interface:CamundaClientBuilderThe interval which a job worker is periodically polling for new jobs. Default is 100 milliseconds.- Specified by:
defaultJobPollIntervalin interfaceCamundaClientBuilder
-
defaultMessageTimeToLive
Description copied from interface:CamundaClientBuilderThe time-to-live which is used when none is provided for a message. Default is 1 hour.- Specified by:
defaultMessageTimeToLivein interfaceCamundaClientBuilder
-
defaultRequestTimeout
Description copied from interface:CamundaClientBuilderThe request timeout used if not overridden by the command. Default is 10 seconds.- Specified by:
defaultRequestTimeoutin interfaceCamundaClientBuilder
-
usePlaintext
Description copied from interface:CamundaClientBuilderUse a plaintext connection between the client and the gateway.- Specified by:
usePlaintextin interfaceCamundaClientBuilder
-
caCertificatePath
Description copied from interface:CamundaClientBuilderPath to a root CA certificate to be used instead of the certificate in the default default store.- Specified by:
caCertificatePathin interfaceCamundaClientBuilder
-
credentialsProvider
Description copied from interface:CamundaClientBuilderA customCredentialsProviderwhich will be used to apply authentication credentials to requests.- Specified by:
credentialsProviderin interfaceCamundaClientBuilder
-
keepAlive
Description copied from interface:CamundaClientBuilderTime interval between keep alive messages sent to the gateway. The default is 45 seconds.- Specified by:
keepAlivein interfaceCamundaClientBuilder
-
withInterceptors
Description copied from interface:CamundaClientBuilderCustom implementations of the gRPCClientInterceptormiddleware API. The interceptors will be applied to every gRPC call that the client makes. More details can be found at invalid input: '{@link https://grpc.io/docs/guides/interceptors/'}.- Specified by:
withInterceptorsin interfaceCamundaClientBuilder
-
withChainHandlers
public CamundaClientBuilder withChainHandlers(org.apache.hc.client5.http.async.AsyncExecChainHandler... chainHandler) Description copied from interface:CamundaClientBuilderCustom implementations of the Apache HttpClientAsyncExecChainHandlermiddleware API. The middleware implementations will be called on every REST API call that the client makes.- Specified by:
withChainHandlersin interfaceCamundaClientBuilder
-
withJsonMapper
- Specified by:
withJsonMapperin interfaceCamundaClientBuilder
-
overrideAuthority
Description copied from interface:CamundaClientBuilderOverrides 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
plaintextconnection is used.- Specified by:
overrideAuthorityin interfaceCamundaClientBuilder- Parameters:
authority- The alternative authority to use, commonly in the formhostorhost:port
-
maxMessageSize
Description copied from interface:CamundaClientBuilderA custom maxMessageSize allows the client to receive larger or smaller responses from Camunda. Technically, it specifies the maxInboundMessageSize of the gRPC channel. The default is 4194304 = 4MB.- Specified by:
maxMessageSizein interfaceCamundaClientBuilder
-
maxMetadataSize
Description copied from interface:CamundaClientBuilderA custom maxMetadataSize allows the client to receive larger or smaller response headers from Camunda. Technically, it specifies the maxInboundMetadataSize of the gRPC channel. The default is 16384 = 16KB .- Specified by:
maxMetadataSizein interfaceCamundaClientBuilder
-
defaultJobWorkerStreamEnabled
Description copied from interface:CamundaClientBuilderA custom streamEnabled allows the client to use job stream instead of job poll. The default value is set as enabled.- Specified by:
defaultJobWorkerStreamEnabledin interfaceCamundaClientBuilder
-
useDefaultRetryPolicy
Description copied from interface:CamundaClientBuilderIf enabled, the client will make use of the default retry policy defined. False by default.NOTE: the default retry policy is taken from the
gateway-service-config.jsonin theio.camunda:zeebe-gateway-protocol-implJAR.- Specified by:
useDefaultRetryPolicyin interfaceCamundaClientBuilder
-
preferRestOverGrpc
Description copied from interface:CamundaClientBuilderIf true, will prefer to use REST over gRPC for calls which can be done over both REST and gRPC. This is an experimental API which is present while we migrate the bulk of the API from gRPC to REST. Once done, this will also be removed.NOTE: not all calls can be done over REST (or HTTP/1) yet, this is also subject to change.
- Specified by:
preferRestOverGrpcin interfaceCamundaClientBuilder- Parameters:
preferRestOverGrpc- if true, the client will use REST instead of gRPC whenever possible- Returns:
- this builder for chaining
-
build
- Specified by:
buildin interfaceCamundaClientBuilder- Returns:
- a new
CamundaClientwith the provided configuration options.
-
toString
-