summaryrefslogtreecommitdiff
path: root/qpid/java/common
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2015-02-17 17:41:28 +0000
committerRobert Godfrey <rgodfrey@apache.org>2015-02-17 17:41:28 +0000
commit2d3a1f587a2201eed232cdc4b4ee589ea52e3606 (patch)
treedf3ffc561d223df11e6c5d1034f855a4da97549f /qpid/java/common
parent2e60cf6ce254d749890c5740d0d3b15e2b1e41a3 (diff)
downloadqpid-python-2d3a1f587a2201eed232cdc4b4ee589ea52e3606.tar.gz
QPID-6395 : [Java Broker] add support for queue default filters, and filters solely on arrival time
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1660458 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java3
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java21
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java21
3 files changed, 41 insertions, 4 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java b/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java
index 483fbaea50..d033bf86c2 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java
@@ -30,7 +30,8 @@ public enum AMQPFilterTypes
JMS_SELECTOR("x-filter-jms-selector"),
NO_CONSUME("x-filter-no-consume"),
AUTO_CLOSE("x-filter-auto-close"),
- NO_LOCAL("x-qpid-no-local");
+ NO_LOCAL("x-qpid-no-local"),
+ REPLAY_PERIOD("x-qpid-replay-period");
/** The identifying string for the filter type. */
private final AMQShortString _value;
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
index 77902c3531..3ea99ce4ab 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
@@ -20,15 +20,16 @@
*/
package org.apache.qpid.url;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.Map;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-
public class AMQBindingURL implements BindingURL
{
private static final Logger _logger = LoggerFactory.getLogger(AMQBindingURL.class);
@@ -135,6 +136,20 @@ public class AMQBindingURL implements BindingURL
return _options.get(key);
}
+ @Override
+ public Map<String,Object> getConsumerOptions()
+ {
+ Map<String,Object> options = new HashMap<>();
+ for(Map.Entry<String,String> option : _options.entrySet())
+ {
+ if(!NON_CONSUMER_OPTIONS.contains(option.getKey()))
+ {
+ options.put(option.getKey(), option.getValue());
+ }
+ }
+ return options;
+ }
+
public void setOption(String key, String value)
{
_options.put(key, value);
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java
index 80a1ae540b..91f80ff88c 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java
@@ -20,6 +20,12 @@
*/
package org.apache.qpid.url;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
import org.apache.qpid.framing.AMQShortString;
/*
@@ -47,6 +53,18 @@ public interface BindingURL
*/
public static final String OPTION_REJECT_BEHAVIOUR = "rejectbehaviour";
+ public static final Set<String> NON_CONSUMER_OPTIONS =
+ Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(OPTION_EXCLUSIVE,
+ OPTION_AUTODELETE,
+ OPTION_DURABLE,
+ OPTION_BROWSE,
+ OPTION_ROUTING_KEY,
+ OPTION_BINDING_KEY,
+ OPTION_EXCHANGE_AUTODELETE,
+ OPTION_EXCHANGE_DURABLE,
+ OPTION_EXCHANGE_DURABLE,
+ OPTION_REJECT_BEHAVIOUR)));
+
String getURL();
@@ -60,6 +78,9 @@ public interface BindingURL
String getOption(String key);
+ Map<String,Object> getConsumerOptions();
+
+
boolean containsOption(String key);
AMQShortString getRoutingKey();