You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2017/08/30 14:41:54 UTC

qpid-jms git commit: QPIDJMS-320: wrap the parser cache to make it thread safe

Repository: qpid-jms
Updated Branches:
  refs/heads/master 99441c0f5 -> 22c3358a5


QPIDJMS-320: wrap the parser cache to make it thread safe


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/22c3358a
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/22c3358a
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/22c3358a

Branch: refs/heads/master
Commit: 22c3358a5c0e9d29ef665786ffa6db5a6f351169
Parents: 99441c0
Author: Robbie Gemmell <ro...@apache.org>
Authored: Wed Aug 30 15:36:46 2017 +0100
Committer: Robbie Gemmell <ro...@apache.org>
Committed: Wed Aug 30 15:36:46 2017 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/qpid/jms/selector/SelectorParser.java   | 4 +++-
 .../src/main/java/org/apache/qpid/jms/util/LRUCache.java         | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/22c3358a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
index e203267..eff2470 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/selector/SelectorParser.java
@@ -17,6 +17,8 @@
 package org.apache.qpid.jms.selector;
 
 import java.io.StringReader;
+import java.util.Collections;
+import java.util.Map;
 
 import org.apache.qpid.jms.selector.filter.BooleanExpression;
 import org.apache.qpid.jms.selector.filter.FilterException;
@@ -25,7 +27,7 @@ import org.apache.qpid.jms.util.LRUCache;
 
 public class SelectorParser {
 
-    private static final LRUCache<Object, Object> cache = new LRUCache<Object, Object>(100);
+    private static final Map<String, Object> cache = Collections.synchronizedMap(new LRUCache<String, Object>(100));
 
     public static BooleanExpression parse(String sql) throws FilterException {
         Object result = cache.get(sql);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/22c3358a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
index a522fcf..9fc7cb5 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/LRUCache.java
@@ -20,7 +20,7 @@ import java.util.LinkedHashMap;
 import java.util.Map;
 
 /**
- * A Simple LRU Cache based on a LinkedHashMap.
+ * A Simple LRU Cache based on a LinkedHashMap. Not thread-safe.
  *
  * @param <K> The type of the map key.
  * @param <V> The type of the map value.


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org