Author: shawkins
Date: 2012-04-25 10:47:09 -0400 (Wed, 25 Apr 2012)
New Revision: 4034
Modified:
trunk/api/src/main/java/org/teiid/CommandContext.java
trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java
trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
Log:
TEIID-1989 adding a counter to the command context
Modified: trunk/api/src/main/java/org/teiid/CommandContext.java
===================================================================
--- trunk/api/src/main/java/org/teiid/CommandContext.java 2012-04-24 20:22:55 UTC (rev
4033)
+++ trunk/api/src/main/java/org/teiid/CommandContext.java 2012-04-25 14:47:09 UTC (rev
4034)
@@ -143,5 +143,12 @@
* @param listener
*/
void removeListener(CommandListener listener);
+
+ /**
+ * Get the number of times this command has been reused. Useful
+ * in continuous executions.
+ * @return
+ */
+ long getReuseCount();
}
Modified: trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java 2012-04-24
20:22:55 UTC (rev 4033)
+++ trunk/engine/src/main/java/org/teiid/query/processor/QueryProcessor.java 2012-04-25
14:47:09 UTC (rev 4034)
@@ -34,7 +34,6 @@
import org.teiid.core.TeiidProcessingException;
import org.teiid.core.TeiidRuntimeException;
import org.teiid.core.util.Assertion;
-import org.teiid.jdbc.SQLStates;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.logging.MessageLevel;
@@ -148,6 +147,7 @@
result.setTerminationFlag(false);
this.processPlan.close();
this.processPlan.reset();
+ this.context.incrementReuseCount();
this.open = false;
}
}
Modified: trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-04-24
20:22:55 UTC (rev 4033)
+++ trunk/engine/src/main/java/org/teiid/query/util/CommandContext.java 2012-04-25
14:47:09 UTC (rev 4034)
@@ -36,6 +36,7 @@
import java.util.TimeZone;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executor;
+import java.util.concurrent.atomic.AtomicLong;
import javax.security.auth.Subject;
@@ -148,6 +149,7 @@
Set<CommandListener> commandListeners = null;
private LRUCache<String, DecimalFormat> decimalFormatCache;
private LRUCache<String, SimpleDateFormat> dateFormatCache;
+ private AtomicLong reuseCount = new AtomicLong();
}
private GlobalState globalState = new GlobalState();
@@ -746,4 +748,13 @@
return result;
}
+ public void incrementReuseCount() {
+ globalState.reuseCount.getAndIncrement();
+ }
+
+ @Override
+ public long getReuseCount() {
+ return globalState.reuseCount.get();
+ }
+
}
Show replies by date