| == Camel Clustered Route Controller Example Spring Boot |
| |
| This example shows how to work with a simple Apache Camel application using Spring Boot and a Master component. |
| |
| === How to run in local |
| |
| 1. build the project: |
| |
| mvn clean package |
| |
| 2. Then run the first camel node: |
| |
| mvn spring-boot:run |
| |
| 3. in a separate shell, run the second camel node: |
| |
| mvn spring-boot:run |
| |
| === How to run on OpenShift cluster |
| |
| 1. create openshift project: |
| |
| oc new-project camel-master |
| |
| 2. create dedicated service account: |
| |
| oc create sa camel-sa |
| |
| 3. create project role to manage leases: |
| |
| oc create role camel-leases --verb=get,list,watch,create,update,patch,delete --resource=leases -n camel-master |
| |
| 4. create project role to manage pods: |
| |
| oc create role camel-pods --verb=get,list,watch,create,update,patch,delete --resource=pods -n camel-master |
| |
| 5. add roles to service account: |
| |
| oc policy add-role-to-user camel-leases -z camel-sa -n camel-master --role-namespace camel-master |
| |
| oc policy add-role-to-user camel-pods -z camel-sa -n camel-master --role-namespace camel-master |
| |
| 6. run the build and deploy using profile `openshift`: |
| |
| mvn clean package -Popenshift |
| |
| |
| the generated deployment config will scale to 2 pods so that we can verify that only one will be the cluster leader, so it will be the only one consuming the message |
| |
| === 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! |