ExpediaGroup / molten

Molten is an opinionated library providing reactive tooling to simplify building production-ready integration solutions using Reactor.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status Release License

Molten

Molten is an opinionated library providing reactive tooling to simplify building production-ready integration solutions using Reactor. It builds on other libraries to make reactive caching, instrumentation, tracing, health checks, and HTTP client creation simple. It also provides implementations for several reactive integration patterns (e.g. request collapsing). Molten requires Java 11+ to be used.

Some libraries building on:

Requirements

To build Molten you should have the followings available:

Build

To compile the library and run all tests execute the following:

./mvnw clean verify

To also package the library execute:

./mvnw clean install

Usage

For your convenience there's a BOM (Bill of Materials) to import consistent module and dependency versions (defines reactor and resilience4j as well).

<dependency>
    <groupId>com.expediagroup.molten</groupId>
    <artifactId>molten-bom</artifactId>
    <version>${molten.version}</version>
    <scope>import</scope>
    <type>pom</type>
</dependency>

To define all dependency versions consistently, one can use the dependencies BOM:

<dependency>
    <groupId>com.expediagroup.molten</groupId>
    <artifactId>molten-dependencies</artifactId>
    <version>${molten.version}</version>
    <scope>import</scope>
    <type>pom</type>
</dependency>

Modules

Test support modules

Experimental features

Please note that types and methods annotated with @com.hotels.molten.core.common.Experimental are considered unstable and might change without further notice.

Contributing

Please refer to our CONTRIBUTING file.

License

This project is available under the Apache 2.0 License.

Copyright 2020 Expedia, Inc.

To add/update licence headers use:

mvn license:format

About

Molten is an opinionated library providing reactive tooling to simplify building production-ready integration solutions using Reactor.

License:Apache License 2.0


Languages

Language:Java 100.0%