Chapter 10. Integrating a Camel application with the A-MQ broker
This tutorial shows how to deploy a quickstart using the A-MQ image.
10.1. Building and deploying a Spring Boot Camel A-MQ quickstart
This quickstart demonstrates how to connect a Spring Boot application to AMQ Online and use JMS messaging between two Camel routes using Fuse on OpenShift.
Prerequisites
- Ensure that AMQ Online is deployed and running. To install AMQ Online on OpenShift see Installing and configuring AMQ Online on OpenShift.
- Ensure that OpenShift is running correctly and the Fuse image streams are already installed in OpenShift. See Getting Started for Administrators.
- Ensure that Maven Repositories are configured for fuse, see Configuring Maven Repositories.
Procedure
Log in to the OpenShift server as a developer.
oc login -u developer -p developer
Log in to the
openshift
project.oc project openshift
Create the quickstart project using the Maven workflow.
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-sb2-780040-redhat-00002/archetypes-catalog-2.2.0.fuse-sb2-780040-redhat-00002-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-sb2-780040-redhat-00002
The archetype plug-in switches to interactive mode to prompt you for the remaining fields.
Define value for property 'groupId': : org.example.fis Define value for property 'artifactId': : fuse78-spring-boot-camel-amq Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': org.example.fis: : Confirm properties configuration: groupId: org.example.fis artifactId: fuse78-spring-boot-camel-amq version: 1.0-SNAPSHOT package: org.example.fis Y: :Y
When prompted, enter
org.example.fis
for thegroupId
value andfuse78-spring-boot-camel-amq
for theartifactId
value. Accept the defaults for the remaining fields.Navigate to the quickstart directory
fuse78-spring-boot-camel-amq
.cd fuse78-spring-boot-camel-amq
Run the following commands to apply configuration files to AMQ Online. These configuration files create the AMQ Online user and the queue, both with the admin privileges.
oc login -u system:admin oc apply -f src/main/resources/k8s
Run the
mvn
command to deploy the quickstart to the OpenShift server.mvn fabric8:deploy -Popenshift
To verify that the quickstart is running successfully:
- Navigate to the OpenShift web console in your browser (https://OPENSHIFT_IP_ADDR, replace OPENSHIFT_IP_ADDR with the IP address of the cluster) and log in to the console with your credentials (for example, with username developer and password, developer).
-
In the left hand side panel, expand
Home
and then clickStatus
to view the Project Status page foropenshift
project. -
Click
fuse78-spring-boot-camel-amq
to view the Overview information page for the quickstart. -
In the left hand side panel, expand
Workloads
. -
Click
Pods
and then clickfuse78-spring-boot-camel-amq-xxxxx
. The pod details for the quickstart are displayed. Click
Logs
to view the logs for the application.The output shows the messages are sent successfully.
10:17:59.825 [Camel (camel) thread #10 - timer://order] INFO generate-order-route - Generating order order1379.xml 10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Sending order order1379.xml to the UK 10:17:59.829 [Camel (camel) thread #8 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Done processing order1379.xml 10:18:02.825 [Camel (camel) thread #10 - timer://order] INFO generate-order-route - Generating order order1380.xml 10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Sending order order1380.xml to another country 10:18:02.829 [Camel (camel) thread #7 - JmsConsumer[incomingOrders]] INFO jms-cbr-route - Done processing order1380.xml
- To view the routes on the web interface, click Open Java Console and check the messages in the AMQ queue.