Skip to content

Instantly share code, notes, and snippets.

View tomas-langer's full-sized avatar

Tomas Langer tomas-langer

  • Oracle Czech Republic
  • Prague, Czech Republic
View GitHub Profile
@tomas-langer
tomas-langer / config-api.md
Created April 11, 2023 15:34
Config API and implementation choices

Helidon Config

io.helidon.common.config -> "Config API" io.helidon.config -> "Config"

Helidon 1.x -> 3.x There is a single "Config" module, that contains both APIs, SPIs, and implementation

Helidon 4.x, current main For the purpose of minimizing size of dependencies for Pico, and to remove dependencies "into" config module from Pico and common,

@tomas-langer
tomas-langer / api-modules.md
Created March 21, 2023 17:22
Options for API module naming

API modules

Helidon historically did not have strict separation of API modules and implementation modules. Even though we do use interfaces (and mostly package local implementations), we co-locate these in the same module.

Since version 3.0.0 and introduction of tracing module, we have introduced the first "pure" API module. In Helidon 4.0.0, we will introduce more such modules:

  • tracing API (existing), implemented by OpenTracing, and OpenTelemetry
  • metrics API, implemented by MicroProfile Metrics implementation, Micrometer
@tomas-langer
tomas-langer / Examples-repo.md
Last active September 28, 2022 13:07
Examples Repository

helidon-example (probably same as docs layout)

  • reactive (this is what we agreed on with coming of Níma)
    • webserver
    • security
    • oci
  • nima
    • webserver
    • security
  • microprofile
  • server
@tomas-langer
tomas-langer / Examples.md
Created October 21, 2021 15:45
Helidon Examples

Common rules

  • Define logging.properties set to INFO and standard output, with a few examples of configuring relevant modules for finer logging (one or two)
  • Use application parent and define the copy-libs execution (except for examples showing standalone project approach)
  • Use only junit-jupiter-api for assertions (e.g. do not use hamcrest in examples)
  • Define a README.md that describes
    • how to build
    • how to run
    • how to validate (using curl)
  • Use a test configuration profile that overrides
@tomas-langer
tomas-langer / features.md
Last active April 3, 2020 13:19
Features in Helidon
@tomas-langer
tomas-langer / homework.md
Last active December 1, 2019 23:36 — forked from m0mus/homework.md
Homework

Stream Combiner

Description

Stream Combiner is an application that allows you to create a combined stream. This stream combines / merges entries from all (original) individual stream producers.

Requirements

Stream producers