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).
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).