Chapter 6. Integrate a Camel Application with the AMQ Broker
6.1. Example How to Deploy a Spring Boot Camel A-MQ Quickstart Copy linkLink copied to clipboard!
This tutorial shows how to deploy a quickstart using the A-MQ image.
6.1.1. Prerequisites Copy linkLink copied to clipboard!
- Ensure that OpenShift is running correctly and the Fuse image streams are already installed in OpenShift. See Section 3.1, “Prerequisites”.
- Ensure that Maven Repositories are configured for fuse, see Section 3.2.1, “Configure Maven Repositories”
6.1.2. Building and Deploying the Quickstart Copy linkLink copied to clipboard!
This example requires a Red Hat A-MQ 6 image and deployment template. If you are using CDK 3.1.1+, Red Hat A-MQ 6 images and templates should be already installed in the openshift
namespace by default.
To build and deploy the A-MQ quickstart, perform the following steps:
Log in to OpenShift as a developer, for example:
oc login -u developer -p developer
oc login -u developer -p developer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Create a new project amq-quickstart
oc new-project amq-quickstart
oc new-project amq-quickstart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Determine the version of the A-MQ 6 images and templates installed:
oc get template -n openshift
$ oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow You should be able to find a template named
amqXX-basic
, where XX is the version of A-MQ installed in Openshift.Deploy the A-MQ 6 image in the
amq-quickstart
namespace (replace XX with the actual version of A-MQ found in previous step):oc process openshift//amqXX-basic -p APPLICATION_NAME=broker -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p MQ_QUEUES=test -p MQ_PROTOCOL=amqp -n amq-quickstart | oc create -f -
$ oc process openshift//amqXX-basic -p APPLICATION_NAME=broker -p MQ_USERNAME=admin -p MQ_PASSWORD=admin -p MQ_QUEUES=test -p MQ_PROTOCOL=amqp -n amq-quickstart | oc create -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteThis
oc
command could fail, if you use an older version ofoc
. This syntax works withoc
versions 3.5.x (based on Kubernetes 1.5.x).Add role which is needed for discovery of mesh endpoints (through Kubernetes REST API agent).
oc policy add-role-to-user view system:serviceaccount:amq-quickstart:default
$ oc policy add-role-to-user view system:serviceaccount:amq-quickstart:default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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-000110-redhat-5/archetypes-catalog-2.2.0.fuse-000110-redhat-5-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-000110-redhat-5
$ 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-000110-redhat-5/archetypes-catalog-2.2.0.fuse-000110-redhat-5-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-amq-archetype \ -DarchetypeVersion=2.2.0.fuse-000110-redhat-5
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The archetype plug-in switches to interactive mode to prompt you for the remaining fields:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow When prompted, enter
org.example.fis
for thegroupId
value andfuse70-spring-boot-camel-amq
for theartifactId
value. Accept the defaults for the remaining fields.Navigate to the quickstart directory
fuse70-spring-boot-camel-amq
:cd fuse70-spring-boot-camel-amq
$ cd fuse70-spring-boot-camel-amq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Customize the client credentials for logging on to the broker, by setting the
ACTIVEMQ_BROKER_USERNAME
andACTIVEMQ_BROKER_PASSWORD
environment variables. In thefuse70-spring-boot-camel-amq
project, edit thesrc/main/fabric8/deployment.yml
file, as follows:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the
mvn
command to deploy the quickstart to OpenShift server.mvn fabric8:deploy
mvn fabric8:deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - To verify that the quickstart is running successfully, navigate to the OpenShift console, select the project amq-quickstart, click Applications, select Pods, click fuse70-spring-boot-camel-amq-xxx, and click Logs.
The output shows the messages are sent successfully.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - To view the routes on the web interface, click Open Java Console and check the messages in the A-MQ queue.