private void checkDataProductionNeed() {
log.debug("checking data actuality..." + producer + ", " + datasetProductionParams);
final String prodId = producer.getProducerId();
log.debug(prodId + ", " + KeyGenerator.generateKey((Serializable)datasetProductionParams));
log.debug("useCache = " + useCache);
DatasetProductionTimeStore dataCache = DatasetProductionTimeStore.getInstance();
if (useCache && dataCache.containsEntry(prodId, datasetProductionParams)) {
Date produceTime = dataCache.getProductionTime(prodId, datasetProductionParams);
log.debug("cached data available.");
// cached data available
if (!producer.hasExpired(datasetProductionParams, produceTime)) {
log.debug("cached data is still valid.");
this.datasetProduceTime = produceTime.getTime();
return;
}
dataCache.removeEntry(prodId, datasetProductionParams);
}
datasetProduceTime = System.currentTimeMillis();
}