Kamelet Main
Since Camel 3.11
A main
class that is opinionated to boostrap and run Camel standalone with Kameleets for development and demo purposes.
Initial configuration
The KameletMain
is pre-configured with the following properties:
camel.component.kamelet.location = classpath:/kamelets,github:apache:camel-kamelets
camel.main.routes-include-pattern = classpath:camel/*
camel.main.lightweight = true
These settings can be overridden by configuration in application.properties
.
Automatic dependencies downloading
The Kamelet Main can automatic download Kamelet YAML files from a remote location over http/https, and from github as well.
The official Kameleets from the Apache Camel Kamelet Catalog is stored on github and they can be used out of the box as-is.
For example a Camel route can be coded in YAML which uses the Earthquake Kamelet from the catalog, as shown below:
- route:
from: "kamelet:earthquake-source"
steps:
- unmarshal:
json: {}
- log: "Earthquake with magnitude ${body[properties][mag]} at ${body[properties][place]}"
In this use-case the earthquake kamelet will be downloaded from github, and as well its required dependencies.
The dependencies are downloaded to ~/.groovy/grapes directory. To force re-download then this directory can be deleted.
|
You can find an example with this at kamelet-main.