jdbc-protolib/src/main/java/com/streamsets/pipeline/lib/jdbc/multithread/JdbcBaseRunnable.java
private TableReadContext getOrLoadTableReadContext() throws ExecutionException, InterruptedException {
    initTableEvalContextForProduce(
        tableJdbcELEvalContext, tableRuntimeContext,
        Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of(tableJdbcConfigBean.timeZoneID)))
    );
    //Check and then if we want to wait for query being issued do that
    TableReadContext tableReadContext = tableReadContextCache.getIfPresent(tableRuntimeContext);

    LOG.trace("Selected table : '{}' for generating records", tableRuntimeContext.getDescription());

    if (tableReadContext == null) {
      //Wait before issuing query (Optimization instead of waiting during each batch)
      waitIfNeeded();
      //Set time before query
      initTableEvalContextForProduce(
          tableJdbcELEvalContext, tableRuntimeContext,
          Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of(tableJdbcConfigBean.timeZoneID)))
      );
      tableReadContext = tableReadContextCache.get(tableRuntimeContext);
      //Record query time
      lastQueryIntervalTime = System.currentTimeMillis();
    }
    return tableReadContext;
  }
private TableReadContext getOrLoadTableReadContext() throws ExecutionException, InterruptedException {
    initTableEvalContextForProduce(
        tableJdbcELEvalContext, tableRuntimeContext,
        Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of(tableJdbcConfigBean.timeZoneID)))
    );
    //Check and then if we want to wait for query being issued do that
    TableReadContext tableReadContext = tableReadContextCache.getIfPresent(tableRuntimeContext);

    LOG.trace("Selected table : '{}' for generating records", tableRuntimeContext.getDescription());

    if (tableReadContext == null) {
      //Wait before issuing query (Optimization instead of waiting during each batch)
      waitIfNeeded();
      //Set time before query
      initTableEvalContextForProduce(
          tableJdbcELEvalContext, tableRuntimeContext,
          Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of(tableJdbcConfigBean.timeZoneID)))
      );
      tableReadContext = tableReadContextCache.get(tableRuntimeContext);
      //Record query time
      lastQueryIntervalTime = System.currentTimeMillis();
    }
    return tableReadContext;
  }
private TableReadContext getOrLoadTableReadContext ( ) throws ExecutionException , InterruptedException { initTableEvalContextForProduce ( tableJdbcELEvalContext , tableRuntimeContext , Calendar . getInstance ( TimeZone . getTimeZone ( ZoneId . of ( tableJdbcConfigBean . timeZoneID ) ) ) ) ; //Check and then if we want to wait for query being issued do that TableReadContext tableReadContext = tableReadContextCache . getIfPresent ( tableRuntimeContext ) ; LOG . trace ( "Selected table : '{}' for generating records" , tableRuntimeContext . getDescription ( ) ) ; if ( tableReadContext == null ) { //Wait before issuing query (Optimization instead of waiting during each batch) waitIfNeeded ( ) ; //Set time before query initTableEvalContextForProduce ( tableJdbcELEvalContext , tableRuntimeContext , Calendar . getInstance ( TimeZone . getTimeZone ( ZoneId . of ( tableJdbcConfigBean . timeZoneID ) ) ) ) ; tableReadContext = tableReadContextCache . get ( tableRuntimeContext ) ; //Record query time lastQueryIntervalTime = System . currentTimeMillis ( ) ; } return tableReadContext ; }
Get Or Load {@link TableReadContext} for {@link #tableRuntimeContext}
Get Or Load {