summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2010-09-26 22:17:21 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2010-09-26 22:17:21 +0000
commitdb8395c5f4ebdf37bbc9bef8bb4d44ee8bdb8c40 (patch)
tree8208398d0435fc598c28daeced6d9d6e7f87d992 /java
parent8074333980d656c0075ab319f89e12841ea32a57 (diff)
downloadqpid-python-db8395c5f4ebdf37bbc9bef8bb4d44ee8bdb8c40.tar.gz
QPID-2884: Pass the method arguments on Subscription_0_10 upon creation
Patch from SorinS <ssuciu@gmail.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1001537 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java8
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java8
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java4
3 files changed, 14 insertions, 6 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java b/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java
index befa979d37..fbc5387daf 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/federation/Bridge.java
@@ -694,12 +694,14 @@ public class Bridge implements BridgeConfig
FlowCreditManager_0_10 creditManager = new WindowCreditManager(0xFFFFFFFF,getMessageWindowSize());
+ //TODO Handle the passing of non-null Filters and Arguments here
+
Subscription_0_10 sub = new Subscription_0_10((ServerSession)session,
_destination,
MessageAcceptMode.NONE,
MessageAcquireMode.PRE_ACQUIRED,
MessageFlowMode.WINDOW,
- creditManager, null);
+ creditManager, null,null);
((ServerSession)session).register(_destination, sub);
@@ -764,12 +766,14 @@ public class Bridge implements BridgeConfig
FlowCreditManager_0_10 creditManager = new WindowCreditManager(0xFFFFFFFF,getMessageWindowSize());
+ //TODO Handle the passing of non-null Filters and Arguments here
+
Subscription_0_10 sub = new Subscription_0_10((ServerSession)session,
_destination,
MessageAcceptMode.NONE,
MessageAcquireMode.PRE_ACQUIRED,
MessageFlowMode.WINDOW,
- creditManager, null);
+ creditManager, null,null);
((ServerSession)session).register(_destination, sub);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java b/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java
index 8b5064e19d..2510c12eae 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/subscription/Subscription_0_10.java
@@ -102,13 +102,14 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr
private String _trace;
private long _createTime = System.currentTimeMillis();
private final AtomicLong _deliveredCount = new AtomicLong(0);
+ private final Map<String, Object> _arguments;
public Subscription_0_10(ServerSession session, String destination, MessageAcceptMode acceptMode,
MessageAcquireMode acquireMode,
MessageFlowMode flowMode,
FlowCreditManager_0_10 creditManager,
- FilterManager filters)
+ FilterManager filters,Map<String, Object> arguments)
{
_session = session;
_destination = destination;
@@ -118,6 +119,8 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr
_flowMode = flowMode;
_filters = filters;
_creditManager.addStateListener(this);
+ _arguments = arguments == null ? Collections.<String, Object> emptyMap() :
+ Collections.<String, Object> unmodifiableMap(arguments);
_state.set(_creditManager.hasCredit() ? State.ACTIVE : State.SUSPENDED);
}
@@ -859,8 +862,7 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr
public Map<String, Object> getArguments()
{
- //TODO
- return Collections.EMPTY_MAP;
+ return _arguments;
}
public boolean isSessionTransactional()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java
index 53dad0fcfe..209bee4565 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java
@@ -247,7 +247,9 @@ public class ServerSessionDelegate extends SessionDelegate
method.getAcceptMode(),
method.getAcquireMode(),
MessageFlowMode.WINDOW,
- creditManager, filterManager);
+ creditManager,
+ filterManager,
+ method.getArguments());
((ServerSession)session).register(destination, sub);
try