| :experimental: |
| == JOOQ Example |
| |
| === Introduction |
| |
| This example shows how to use JOOQ library with Camel to build type safe SQL queries through its API. |
| |
| Example project contains SQL script to create database. |
| Database is generated every time when Maven `generate-sources` phase is triggered. |
| JOOQ classes are generated inside `target/generated-sources/jooq` directory by `jooq-codegen-maven` plugin. |
| |
| === Build |
| You will need to compile this example first: |
| |
| mvn clean install |
| |
| This command will generate database and JOOQ classes. |
| |
| === Run with maven |
| To run the example using Maven type |
| |
| mvn camel:run |
| |
| To stop the example hit kbd:[Ctrl+c] |
| |
| === Example routes |
| |
| [source,xml] |
| ------------------------------------------------------------ |
| <camelContext xmlns="http://camel.apache.org/schema/spring"> |
| <!-- Producer --> |
| <route id="produce-route"> |
| <from uri="timer://insert?fixedRate=true&period=1000"/> |
| |
| <!-- Insert --> |
| <transform> |
| <method ref="book-store" method="generate"/> |
| </transform> |
| <to uri="jooq://org.apache.camel.examples.jooq.db.tables.records.BookStoreRecord"/> |
| <log message="Inserted: ${body}"/> |
| |
| <!-- Select --> |
| <transform> |
| <method ref="book-store" method="select"/> |
| </transform> |
| <to uri="jooq://org.apache.camel.examples.jooq.db.tables.records.BookStoreRecord/fetch"/> |
| <log message="Selected: ${body}"/> |
| </route> |
| |
| <!-- Consumer --> |
| <route id="consume-route"> |
| <from uri="jooq://org.apache.camel.examples.jooq.db.tables.records.BookStoreRecord?delay=5000&consumeDelete=true"/> |
| <log message="Consumed: ${body}"/> |
| </route> |
| </camelContext> |
| ------------------------------------------------------------ |
| |
| In this example route `produce-route` inserts and selects new entity every 1s. |
| |
| And the consumer route `consume-route` selects and deletes all entities from database every 5s. |
| |
| === Help and contributions |
| |
| If you hit any problem using Camel or have some feedback, |
| then please https://camel.apache.org/support.html[let us know]. |
| |
| We also love contributors, |
| so https://camel.apache.org/contributing.html[get involved] :-) |
| |
| The Camel riders! |