Skip to content
Application to load zipfiles using Apache Camel, Spring Boot and Hawt.io
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper
zip-loader-application/src/main
.gitignore
README.md
build.gradle
gradlew
gradlew.bat
settings.gradle

README.md

SpringCamelZipLoader

This is an example applicaton written to demonstrate the features of Spring Boot and Camel.

The application watches a directory for a zip files and associated meta-data file. The basic operations are:

  • Watch for a zip file and mansifest file being copied into a directory
  • Check contents of the zip file against the manifest
  • Copy the convtents of the zip to a remote system using an interface (tdb)
  • Must be able to scale to high(ish) volume

The application includes the following components:

  • Spring Boot
  • Spring Actuator
  • Spring remote shell
  • Apache Camel
  • Jolokia
  • Hawt.io

When run a number of endpoints are provisioned by the various components, see below...

Endpoints available

Remote Shell

The Spring remote shell is included in the base build. This provides SSH command line access to the application. More information can be found here (http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-remote-shell.html).

In summary connect to ssh -p 2000 user@localhost using the password displayed when the application starts-up.

The camel commands have also been included to allow control of the executing routes.

Example

Once connected type camel route-list camel-1 this will display the currently defined routes.

Hawtio

Endpoint: http://{host}:8091/hawtio

Access to the Hawt.io monitoring console. Authentication has been turned off so you will be redirected to the configuration screen. To connect to your application use the jolokia endpoint as follows

* schema=http
* host=your host
* port=8095
* path=jolokia

Jolokia

Endpoint: http://{host}:8095/jolokia

This provide conversion from JMX to REST/json. It is required for the hawt.io console

Actuator endpoints

These are the standard Spring Boot Actuator endpoints for 'Production ready' code. These are exposed on a different port to the main application to enable their protection using standard firewall port protection. For further protection authentication could be enabled.

 http://{host}:8095/metrics
 http://{host}:8095/env
 http://{host}:8095/health
 http://{host}:8095/mappings
 http://{host}:8095/configprops
 http://{host}:8095/trace
 http://{host}:8095/info
 http://{host}:8095/dump

Camel Routes

Four camel routes are defined as part of the application.

You can’t perform that action at this time.