This project shows how to customize the Camunda Webapps when using spring-boot. It works by unpacking the original webjar archive and replace interesting parts. In the project that uses the newly created webjar, you have to make sure that the original webjar is not included anymore.
It customizes:
- The color scheme (see Logo and Header Color)
- The logo (see Logo and Header Color)
- Add custom language taken from Community Extension: Tasklist Translations (see Localization)
- Replace the files in
springboot-customized-webapp-webjar/artwork
with your files - Adjust the properties in the top section of
springboot-customized-webapp-webjar/pom.xml
- Possibly addionally adjust the contents of
springboot-customized-webapp-webjar/src/main/resources/META-INF/resources/webjars/camunda/app/{tasklist|cockpit|admin}/{styles|scripts}/
- Run
cd springboot-customized-webapp-webjar
mvn clean install
Run
cd springboot-customized-webapp-example
mvn clean spring-boot:run
Now browse to http://localhost:8080/app/tasklist/default/ and see the customizes tasklist.
- Include welcome app
- Multiple custom languages
- Add plugins
Spring Boot Application using Camunda.
This project demonstrates how to configure two datasources in a Camunda Springboot application with two transaction managers.
-
Spin up a database (Postgres or MySQL)
docker-compose up -d
-
For MySQL change the according ~DataSourceConfig.java files
-
restart the container
docker-compose restart
-
go to
localhost:8088/
and log into the database with the credentials provided by docker-compose.yml (all fields: postgres) -
create a database
camunda
and anotherdomaindata
-
start the application
-
send a POST request to
localhost:8080/rest/order
to create a new Order{ "orderAmount": 500, "orderNumber": "sw-26", "orderFail": false, "processFail": false, "customer": { "address": { "street": "MyStreet 1", "zipCode": "12345", "city": "Berlin" }, "firstName": "Paul", "lastName": "Zimmer" } }
-
You can pass whether orderFail or processFail to force an exception. That leads usually to inconsistent states after executing the OrderController. To solve that one can leverage XATransactions (see branch XA) or provide eventual consistency by implementing the SAGA pattern ==> provide compensation activities. The latter approach is the most recommended one.
- Build and deploy the process application using:
mvn clean package spring-boot:run
- Run the project as a Java application in your IDE using CamundaApplication as the main class.
Once you deployed the application you can run it using Camunda Tasklist and inspect it using Camunda Cockpit.
Built and tested against Camunda BPM version 7.11.0.