@Test
public void testSingleProcess() throws SQLException, IOException, InterruptedException, TimeoutException,
        ObjectCreationException, ObjectDisposeException {

  JdbcDataSource hds = new JdbcDataSource();
  hds.setURL("jdbc:h2:mem:test");
  hds.setUser("sa");
  hds.setPassword("sa");
  PooledDataSource ds = createPooledDS(hds);
  try (Connection conn = ds.getConnection()) { // only to keep the schema arround in thsi section
    createSchemaObjects(ds);
    JdbcHeartBeat heartbeat = JdbcHeartBeat.getHeartBeatAndSubscribe(ds,
            HeartBeatTableDesc.DEFAULT, (JdbcHeartBeat.LifecycleHook) null);
    long lb = heartbeat.getLastRunDB();
    LOG.debug("last TS = {}", Instant.ofEpochMilli(lb));
    heartbeat.beat();
    testReleaseAck(ds, "testSem", 2);
    testReleaseAck(ds, "testSem2", 2);
    heartbeat.close();
  }
  ds.close();
}