Skip to content

ExpediaGroup/molten

Repository files navigation

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.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages