Skip to content

OSGi support #219

@borcsokj

Description

@borcsokj

Proposal:
Create Java client prepared for OSGi environment.

Current behavior:
Java client does not support OSGi environment: it has no MANIFEST.MF headers (export/import packages, generic OSGi services for loosely-coupled applications, etc.).

Desired behavior:
Create OSGi client having valid MANIFEST headers, implementing generic services (i.e. writing line protocol record or point data to target based on configuration published by consumer applications). OSGi support is also missing from some 3rd party dependencies (i.e. okhttp3) so they should be embedded and hidden for OSGi container.

Alternatives considered:
Preparing manifest headers of already existing Java clients could be an alternate solution but managing 3rd party dependencies is difficult and can be eliminated using embedded solution.

Use case:
Why is this important (helps with prioritizing requests)?
Single board computers are capable to run OSGi containers (i.e. Apache Karaf) providing microservice runtime environment for custom IoT applications. Writing time series to InfluxDB (V2) could be supported in standard way (using OSGi configurations and events) hiding technical details from application developers. OpenHAB also has InfluxDB support (implemented in a similar way, embedding 3rd party libraries to InfluxDB addon). I've created a PR to support writing time series by any OSGi application requiring only a few generic dependencies (declarative services, event admin services).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions