This example shows how to work with Camel in the Java Container using CDI to configure components, endpoints and beans.
This quickstart is the server side which embeds a Jetty HTTP server in a Camel route that exposes a HTTP service.
The quickstart-cdi-camel-http
is the client to this quickstart that can be started which will call this
Jetty HTTP server every 5 second.
The example can be built with
mvn clean install
The example can be run locally using the following Maven goal:
mvn clean install exec:java
And you can access the HTTP service using a web browser on url:
http://localhost:8080/camel/hello
It is assumed a running Kubernetes platform is already running. If not you can find details how to get started.
The example can be built and deployed using a single goal:
mvn -Pf8-local-deploy
When the example runs in fabric8, you can use the OpenShift client tool to inspect the status
To list all the running pods:
oc get pods
Then find the name of the pod that runs this quickstart, and output the logs from the running pods with:
oc logs <name of pod>
The example exposes a service over HTTP which you can find using
oc get routes
This lists all the routes to the services, where you can find the actual HTTP url, which you can use from a web browser.
The Camel route is listening on context-path camel/hello
, so the actual HTTP url should be prefixed with that.
For example if the route to the service is listed at http://qs-cdi-camel-jetty.vagrant.f8
then the actual URL to use should be http://qs-cdi-camel-jetty.vagrant.f8/camel/hello
You can also use the fabric8 web console to manage the running pods, and view logs and much more.
You can also call the remote HTTP service from a shell script. We have provided a script named src/test/resources/hitme-f8.sh
(no script for windows)
in the source code for the quickstart, not in the docker image, which will call the service once per second.
You may need to add execution permission to the script before you can execute it
chmod +x src/test/resources/hitme-f8.sh
And then run the script
src/test/resources/hitme-f8.sh
While the script runs, you can try to scale up or down the number of pods on the Jetty HTTP service using either the fabric8 web console, or from the command line using the openshift client
oc scale --replicas=3 replicationcontrollers quickstart-cdi-camel-jetty
You can find more details about running this quickstart on the website. This also includes instructions how to change the Docker image user and registry.