| :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?consumer.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. |
| |
| == Forum, Help, etc |
| |
| If you hit an problems please let us know on the Camel Forums |
| <http://camel.apache.org/discussion-forums.html> |
| |
| Please help us make Apache Camel better - we appreciate any feedback you may |
| have. Enjoy! |
| |
| |
| |
| The Camel riders! |