== JBoss Web Server with JDBC data source - Spring Boot example

=== Abstract

This example shows how to work with a simple Apache Camel Spring Boot application deploying to JBoss Web Server and using its JDBC data source.

=== Introduction

The example generates 2 routes:

. The first route is triggered by a timer and writes messages to the database.
. The second route is triggered by a timer and read the COUNT of messages from the database.

=== Classes

* `MyCamelRouter`: where the camel routes are defined
* `MyBean`: used to generate a simple message with a counter
* `MyCamelApplication`: the Spring Boot servlet initializer

=== How to deploy

. Run the database container
[source,console]
podman run --rm --name db -e POSTGRES_PASSWORD=password -p 5432:5432 docker.io/library/postgres:latest

. Run the tests and package the `war` file
[source,console]
mvn clean package

. Copy the `war` file to your JBoss Web Server `tomcat/webapps` directory
[source,console]
cp target/camel-example-spring-boot.war <your_jws_dir>/tomcat/webapps/

. Run JBoss Web Server
[source,console]
sh <your_jws_dir>/tomcat/bin/catalina.sh run

. Look for the log messages in the console
[source,log]
[- timer://hello] ... Body: insert into messages(message) values('Hello World I am invoked 1 times')]
[- timer://query] ... Body: There are 0 messages in the database.]
[- timer://query] ... Body: There are 1 messages in the database.]
[- timer://hello] ... Body: insert into messages(message) values('Hello World I am invoked 2 times')]
[- timer://query] ... Body: There are 2 messages in the database.]
[- timer://hello] ... Body: insert into messages(message) values('Hello World I am invoked 3 times')]
[- timer://query] ... Body: There are 3 messages in the database.]
[- timer://hello] ... Body: insert into messages(message) values('Hello World I am invoked 4 times')]
[- timer://hello] ... Body: insert into messages(message) values('Hello World I am invoked 5 times')]
[- timer://query] ... Body: There are 4 messages in the database.]

=== 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!



