This client core consumes a gRPC API for external tasks provided by the gRPC Spring Boot Starter.
Use it in your project by adding the following dependency to your application
<dependency>
<groupId>org.camunda.bpm.extension.grpc.externaltask</groupId>
<artifactId>camunda-bpm-grpc-external-task-client-core</artifactId>
<version>0.1.0</version>
</dependency>
The client is based on the supported Camunda External Task Client for Java and can be configured in the same way. In fact, you can (except for some technically inherent differences) simply exchange the defined client in your application by replacing
ExternalTaskClient.create()
.baseUrl("<your-url>")
.workerId("<your-worker-id>")
.lockDuration(<duration>)
.disableAutoFetching()
.build();
with
ExternalTaskClientGrpc.create()
.baseUrl("<your-url>")
.workerId("<your-worker-id>")
.lockDuration(<duration>)
.disableAutoFetching()
.build();
Currently unsupported for the gRPC client compared to the Java client are the following:
- defining interceptors (e.g. for authentication) - this is work in progress
asyncResponseTimeout
and backoff strategy - this is obsolete as the gRPC communication works with bi-directional streams and long polling is thus not necessary