Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/viadee/quarkus-camunda-external-task-client


https://github.com/viadee/quarkus-camunda-external-task-client

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# Quarkus Camunda External Task Client
## โ„น๏ธ Description

This project provides a Quarkus Extension that allows you to implement an External Task Worker for Camunda. It is based
on the official [java-client](https://docs.camunda.org/manual/latest/user-guide/ext-client/) provided
by [Camunda BPM](https://docs.camunda.org/manual/latest/user-guide/ext-client/).

## โญ Features

* Automatic topic subscription for all implementations of `ExternalTaskHanlder` annotated with `@ExternalTaskSubscription`
* Provision of a configurable `ExternalTaskClient` bean
## ๐Ÿš€ How to use

1. To use the external task client Quarkus extension, the following dependency has to be added to your pom.xml.

```xml

de.viadee
quarkus-camunda-external-task-client
0.0.1

```

2. Configure the `ExternalTaskClient` bean which handles the overhead of external task subscriptions by extending your `application.properties`:
```xml
de.viadee.camunda.client.base-url=http://localhost:8080/engine-rest
de.viadee.camunda.client.worker-id=my-worker
```
For a full list of properties check out the `ClientConfiguration` class.

3. Annotate your `ExternalTaskHandler` implementations with `ExternalTaskSubscription` to have them be automatically subscribed with the engine.
```java

@ApplicationScoped
@ExternalTaskSubscription(topicName = "LogOnConsole")
public class LogOnConsoleHandler implements ExternalTaskHandler {

private static final Logger LOG = Logger.getLogger(LogOnConsoleHandler.class.getName());

@Override
public void execute(ExternalTask externalTask, ExternalTaskService externalTaskService) {
LOG.info("This is an ExternalTaskHandler build with Quarkus");
externalTaskService.complete(externalTask);
}
}
```

## ๐Ÿคน Collaboration

This tool was build by viadee Unternehmensberatung AG. If you are interested to find out what else we are doing, check
out our website [viadee.de](https://www.viadee.de/en). If you have any feedback, ideas or extensions feel free to
contact or create a GitHub issue.

[comment]: <> (## ๐Ÿ”‘ License)

[comment]: <> ([![](https://img.shields.io/github/license/viadee/quarkus-camunda-external-task-client)](https://github.com/viadee/quarkus-camunda-external-task-client/blob/master/LICENSE))