Kamel

Kotlin DSL for Apache Camel

License

License

GroupId

GroupId

nl.topicus.overheid
ArtifactId

ArtifactId

kamel
Last Version

Last Version

1.0
Release Date

Release Date

Type

Type

jar
Description

Description

Kamel
Kotlin DSL for Apache Camel
Project URL

Project URL

https://github.com/topicusoverheid/kamel
Source Code Management

Source Code Management

https://github.com/topicusoverheid/kamel

Download kamel

How to add to project

<!-- https://jarcasting.com/artifacts/nl.topicus.overheid/kamel/ -->
<dependency>
    <groupId>nl.topicus.overheid</groupId>
    <artifactId>kamel</artifactId>
    <version>1.0</version>
</dependency>
// https://jarcasting.com/artifacts/nl.topicus.overheid/kamel/
implementation 'nl.topicus.overheid:kamel:1.0'
// https://jarcasting.com/artifacts/nl.topicus.overheid/kamel/
implementation ("nl.topicus.overheid:kamel:1.0")
'nl.topicus.overheid:kamel:jar:1.0'
<dependency org="nl.topicus.overheid" name="kamel" rev="1.0">
  <artifact name="kamel" type="jar" />
</dependency>
@Grapes(
@Grab(group='nl.topicus.overheid', module='kamel', version='1.0')
)
libraryDependencies += "nl.topicus.overheid" % "kamel" % "1.0"
[nl.topicus.overheid/kamel "1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.2.20

provided (1)

Group / Artifact Type Version
org.apache.camel : camel-core jar 2.20.1

test (1)

Group / Artifact Type Version
org.apache.camel : camel-test jar 2.20.1

Project Modules

There are no modules declared in this project.

Kamel: Kotlin DSL for Apache Camel

Kamel is a library which allows easier definition of routes in Apache Camel using a custom DSL in Kotlin. The DSL is crafted to make working with Camel a breeze. To do so, the library primarily utilizes two very powerful Kotlin features: extensions and higher-order functions. When using Kamel, writing Camel routes feels like using a Camel-specific programming language.

Getting Started

Using Kamel is very easy. All you have to do is add the dependency to your project. This can easily be done using Maven. Add the following dependency to your POM:

<dependency>
  <groupId>nl.topicus.overheid</groupId>
  <artifactId>kamel</artifactId>
  <version>1.0</version>
</dependency>

As Kamel uses extensions on exisiting classes, you do not need to extend a different RouteBuilder class and can start using Kamel in existing RouteBuilders immediately. Find out more about using Kamel in the usage document

If you want to contribute to Kamel, follow the steps below to get a development environment set up.

Prerequisites

The library uses Maven for dependency management, so you'll have to install it. I use SDKMAN! for managing Maven, which makes installation very easy, but install it in any way you like.

Git is used for version management so you'll have to install that as well.

My IDE of choise is IntelliJ IDEA which has very rich Kotlin capabilities, but you can use any IDE you're familiar with.

Installing

First, start by cloning this repository:

git clone [email protected]:topicusoverheid/kamel.git kamel && cd kamel

Note: The above assumes you're using Git over SSH, substitute the repository URL for https://github.com/topicusoverheid/kamel.git to use Git over HTTPS.

After cloning has finished, a good first step is to try and compile the library:

mvn clean compile

Import the project into your IDE of choice and start developing!

Running the tests

Automated tests can be executed using Maven:

mvn test

Maven will execute them anytime you packge the library as well.

Built With

  • Kotlin - Programming language
  • Maven - Dependency Management
  • Camel - Framework for routing messages across various processors from and to endpoints

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

The versioning scheme we use is explained in the Maven documentation. For the versions available, see the tags on this repository.

Authors

See also the full list of contributors for everybody who participated in this project.

License

Copyright (c) 2018 Topicus Overheid
This project is licensed under the Apache 2.0 - see the LICENSE file for details

nl.topicus.overheid

Topicus Sociaal Domein

Gids in het sociaal domein

Versions

Version
1.0