This example shows how transacted()
routes create a jdbc local transaction integrating Camel and Spring Transaction
Run the database container
podman run --rm --name db -e POSTGRES_PASSWORD=password -p 5432:5432 docker.io/library/postgres:latest
You can run this example using
mvn spring-boot:run
To execute the routes:
-
verify the table is empty (no data on response)
curl http://localhost:8080/api/horses
-
insert data
curl -X POST http://localhost:8080/api/horses -H "name: Varenne" -H "age: 8"
-
verify the data has been persisted
curl http://localhost:8080/api/horses
-
force to rollback after the insert (setting header "fail: true")
curl -X POST http://localhost:8080/api/horses -H "name: Seabiscuit" -H "age: 9" -H "fail: true"
-
verify the same content of the step 3
curl http://localhost:8080/api/horses
If you hit any problem using Camel or have some feedback, then please let us know.
We also love contributors, so get involved :-)
The Camel riders!