Home

Awesome

Travis Codecov

Embedded InfluxDB

Start influx servers at runtime.

Usage

package io.apisense.embed.influx;

import io.apisense.embed.influx.configuration.InfluxConfigurationWriter;

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException, ServerAlreadyRunningException, InterruptedException, ServerNotRunningException {
        InfluxServer.Builder builder = new InfluxServer.Builder();
        int freeHttpPort = Network.getFreeServerPort();
        int freeUdpPort = Network.getFreeServerPort();
        
        // configuration to start InfluxDB server with HTTP on port `freeHttpPort`
        // and default backup restore port
        InfluxConfigurationWriter configHttp = new InfluxConfigurationWriter(8088, freeHttpPort);
        
        // configuration to start InfluxDB server with HTTP on port `freeHttpPort`
        // and UDP enabled on `freeUdpPort` with default backup restore port.
        // UDP by default use database `udp`.
        
        // Customize the server configuration, namely used ports
        InfluxConfigurationWriter configHttpWithUdp = new InfluxConfigurationWriter(8088, freeHttpPort, freeUdpPort);
        
        builder.setInfluxConfiguration(configHttpWithUdp); // let's start both of protocols, HTTP and UDP
        InfluxServer server = builder.build();
        
        server.start();
        Thread.sleep(10 * 1000);
        server.stop();
    }
}

Notes