@Override
    public void initialize(Map<String, Param> params) throws TikaConfigException {
        super.initialize(params);
        if (StringUtils.isBlank(connectionString)) {
            throw new TikaConfigException("Must specify a connectionString");
        }
        if (reportVariables == null) {
            reportVariables = new ArrayList<>();
            reportVariables.add("id");
            reportVariables.add("status");
            reportVariables.add("timestamp");
        }
        if (reportSql == null) {
            reportSql = "insert into " + getTableName() + " (id, status, timestamp) values (?,?,?)";
        }
        ReportWorker reportWorker = new ReportWorker(connectionString, postConnectionString,
                queue, cacheSize, reportWithinMs);
        reportWorker.init();
        reportWorkerFuture = CompletableFuture.runAsync(reportWorker);
    }
This is an initial draft of a JDBCPipesReporter.  This will drop
the tika_status table with each run.  If you'd like different behavior,
please open a ticket on our JIRA!
tika-pipes/tika-pipes-reporters/tika-pipes-reporter-jdbc/src/main/java/org/apache/tika/pipes/reporters/jdbc/JDBCPipesReporter.java