Review Board 1.7.22


QPID-3401 New class structure for address refactoring

Review Request #2366 - Created Oct. 12, 2011 and discarded

rajith attapattu
QPID-3401
Reviewers
qpid
gordon, k-wall, robbie, wprice
qpid
This patch contains the new class structure used for retrieving information from addressing and creating destinations and managing it's lifecycle.
How this code is tied to the main client is illustrated with the patch put up for review at https://reviews.apache.org/r/2364/

A basic class diagram for this can be found here [ https://issues.apache.org/jira/secure/attachment/12498753/class_diagram.png ]

In summary the goals are,
===========================
1. Provide a proper abstraction of Queue and Topic concepts

2. Provide an address format based implementation of Queue and Topic

3. Hide the implementatio of the life cycle of a destination (create, delete, createSubscription, deleteSubscription)

4. Create a top level AddressBasedDestination class (extending from AMQDestination),
4.1 To separate the address based details from AMQQueue, AMQTopic ..etc
4.2 To bridge btw the new code and the AMQDestination interface

4. Improve the code that retrievs data from an address (a.k.a AddressHelper)

5. Provide a fix for QPID-3265, QPID-3317, QPID-3271

6. Implement the above with minimum disruption to regular client code.
Changes are verified using the existing tests in AddressBasedDestinationTest.java
I am planning to add more coverage and possibly refactor the above class to cover more cases with less code.

Diff revision 1 (Latest)

  1. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedDestination.java: Loading...
  2. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedQueue.java: Loading...
  3. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedTopic.java: Loading...
  4. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidDestination.java: Loading...
  5. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidQueue.java: Loading...
  6. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidTopic.java: Loading...
  7. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/Session.java: Loading...
  8. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/SubscriptionSettings.java: Loading...
  9. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressException.java: Loading...
  10. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressHelper.java: Loading...
  11. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressProperty.java: Loading...
  12. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressResolver.java: Loading...
  13. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Link.java: Loading...
  14. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Node.java: Loading...
  15. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressHelper_0_10.java: Loading...
  16. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressProperty_0_10.java: Loading...
  17. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressResolver_0_10.java: Loading...
  18. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Binding.java: Loading...
  19. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/ExchangeNode.java: Loading...
  20. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Link_0_10.java: Loading...
  21. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Node_0_10.java: Loading...
  22. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidQueue_0_10.java: Loading...
  23. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidTopic_0_10.java: Loading...
  24. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QueueNode.java: Loading...
  25. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/SubscriptionSettings_0_10.java: Loading...
  26. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/amqp_0_10/Session_0_10.java: Loading...
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedDestination.java
New File

    
   
1
/*

    
   
2
 *

    
   
3
 * Licensed to the Apache Software Foundation (ASF) under one

    
   
4
 * or more contributor license agreements.  See the NOTICE file

    
   
5
 * distributed with this work for additional information

    
   
6
 * regarding copyright ownership.  The ASF licenses this file

    
   
7
 * to you under the Apache License, Version 2.0 (the

    
   
8
 * "License"); you may not use this file except in compliance

    
   
9
 * with the License.  You may obtain a copy of the License at

    
   
10
 *

    
   
11
 *   http://www.apache.org/licenses/LICENSE-2.0

    
   
12
 *

    
   
13
 * Unless required by applicable law or agreed to in writing,

    
   
14
 * software distributed under the License is distributed on an

    
   
15
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

    
   
16
 * KIND, either express or implied.  See the License for the

    
   
17
 * specific language governing permissions and limitations

    
   
18
 * under the License.

    
   
19
 *

    
   
20
 */

    
   
21
package org.apache.qpid.client;

    
   
22

   

    
   
23
import javax.jms.JMSException;

    
   
24
import javax.naming.NamingException;

    
   
25
import javax.naming.Reference;

    
   
26
import javax.naming.StringRefAddr;

    
   
27

   

    
   
28
import org.apache.qpid.framing.AMQShortString;

    
   
29
import org.apache.qpid.messaging.Address;

    
   
30
import org.apache.qpid.messaging.QpidDestination;

    
   
31
import org.apache.qpid.messaging.Session;

    
   
32
import org.apache.qpid.messaging.SubscriptionSettings;

    
   
33
import org.apache.qpid.messaging.QpidDestination.CheckMode;

    
   
34
import org.apache.qpid.messaging.QpidQueue;

    
   
35
import org.apache.qpid.messaging.QpidTopic;

    
   
36
import org.apache.qpid.messaging.address.AddressException;

    
   
37
import org.apache.qpid.messaging.address.AddressHelper;

    
   
38
import org.apache.qpid.messaging.address.AddressResolver;

    
   
39
import org.apache.qpid.messaging.address.amqp_0_10.AddressHelper_0_10;

    
   
40
import org.apache.qpid.messaging.address.amqp_0_10.AddressResolver_0_10;

    
   
41
import org.apache.qpid.messaging.amqp_0_10.Session_0_10;

    
   
42
import org.apache.qpid.transport.MessageAcceptMode;

    
   
43
import org.apache.qpid.transport.MessageAcquireMode;

    
   
44
import org.apache.qpid.transport.Option;

    
   
45

   

    
   
46
public class AddressBasedDestination extends AMQDestination

    
   
47
{

    
   
48
    protected Address address;

    
   
49
    protected QpidDestination destination;

    
   
50
    protected AddressResolver resolver;

    
   
51
    

    
   
52
    public AddressBasedDestination(String str)

    
   
53
    {

    
   
54
        this(Address.parse(str));

    
   
55
    }

    
   
56
    

    
   
57
    public AddressBasedDestination(Address address)

    
   
58
    {

    
   
59
        this.address = address;

    
   
60
        this._destSyntax = DestSyntax.ADDR;

    
   
61
        AddressHelper helper = new AddressHelper_0_10(address);

    
   
62
        this._browseOnly = helper.isBrowseOnly();        

    
   
63
    }

    
   
64
    

    
   
65
    public void resolveAddress(AMQSession_0_10 ssn) throws JMSException

    
   
66
    {

    
   
67
        if (destination == null)

    
   
68
        {

    
   
69
            resolver = new AddressResolver_0_10(ssn.getQpidSession());

    
   
70
            try

    
   
71
            {

    
   
72
                destination = resolver.resolve(address);

    
   
73
            }

    
   
74
            catch(AddressException e)

    
   
75
            {

    
   
76
                JMSException ex = new JMSException("Error resolving address : " + address);

    
   
77
                ex.initCause(e);

    
   
78
                ex.setLinkedException(e);

    
   
79
                throw ex;

    
   
80
            }

    
   
81
        }

    
   
82
    }

    
   
83

   

    
   
84
    @Override

    
   
85
    public boolean isTopic()

    
   
86
    {

    
   
87
        return destination instanceof QpidTopic;

    
   
88
    }

    
   
89

   

    
   
90
    @Override

    
   
91
    public boolean isQueue()

    
   
92
    {

    
   
93
        return destination instanceof QpidQueue;

    
   
94
    }

    
   
95
    

    
   
96
    public void create(AMQSession session,CheckMode mode) throws JMSException

    
   
97
    {

    
   
98
        if (destination == null)

    
   
99
        {

    
   
100
            throw new JMSException("Unresolved Address - you need to call resolve() before using create()");            

    
   
101
        }

    
   
102
        else

    
   
103
        {

    
   
104
            try

    
   
105
            {

    
   
106
                Session ssn = new Session_0_10(((AMQSession_0_10)session).getQpidSession());

    
   
107
                destination.checkCreate(ssn,mode);

    
   
108
            }

    
   
109
            catch(Exception e)

    
   
110
            {

    
   
111
                JMSException ex = new JMSException("Error when checking create option for address : " + address);

    
   
112
                ex.initCause(e);

    
   
113
                ex.setLinkedException(e);

    
   
114
                throw ex;

    
   
115
            }

    
   
116
        }

    
   
117
    }

    
   
118

   

    
   
119
    public void azzert(AMQSession session,CheckMode mode) throws JMSException

    
   
120
    {

    
   
121
        if (destination == null)

    
   
122
        {

    
   
123
            throw new JMSException("Unresolved Address - you need to call resolve() before using azzert()");            

    
   
124
        }

    
   
125
        else

    
   
126
        {

    
   
127
            try

    
   
128
            {

    
   
129
                Session ssn = new Session_0_10(((AMQSession_0_10)session).getQpidSession());

    
   
130
                destination.checkAssert(ssn,mode);

    
   
131
            }

    
   
132
            catch(Exception e)

    
   
133
            {

    
   
134
                JMSException ex = new JMSException("Error when checking assert option for address : " + address);

    
   
135
                ex.initCause(e);

    
   
136
                ex.setLinkedException(e);

    
   
137
                throw ex;

    
   
138
            }

    
   
139
        }

    
   
140
    }

    
   
141
    

    
   
142
    public void createSubscription(AMQSession session,SubscriptionSettings settings) throws JMSException

    
   
143
    {

    
   
144
        if (destination == null)

    
   
145
        {

    
   
146
            throw new JMSException("The message source has to be resolved before creating a subscription");

    
   
147
        }        

    
   
148
        else

    
   
149
        {

    
   
150
            try 

    
   
151
            {

    
   
152
                Session ssn = new Session_0_10(((AMQSession_0_10)session).getQpidSession());

    
   
153
                destination.createSubscription(ssn,settings);

    
   
154
            } 

    
   
155
            catch (Exception e) 

    
   
156
            {

    
   
157
                JMSException ex = new JMSException("Error creating subscription for : " +  address);

    
   
158
                ex.initCause(e);

    
   
159
                ex.setLinkedException(e);

    
   
160
                throw ex;

    
   
161
            }

    
   
162
        }   

    
   
163
    }

    
   
164
    

    
   
165
    public void deleteSubscription(AMQSession session) throws JMSException

    
   
166
    {

    
   
167
        if (destination == null)

    
   
168
        {

    
   
169
            throw new JMSException("Cannot delete a subscription that wasn't created");

    
   
170
        }        

    
   
171
        else

    
   
172
        {

    
   
173
            try 

    
   
174
            {

    
   
175
                Session ssn = new Session_0_10(((AMQSession_0_10)session).getQpidSession());

    
   
176
                destination.deleteSubscription(ssn);

    
   
177
            } 

    
   
178
            catch (Exception e) 

    
   
179
            {

    
   
180
                JMSException ex = new JMSException("Error deleting subscription for : " + address);

    
   
181
                ex.initCause(e);

    
   
182
                ex.setLinkedException(e);

    
   
183
                throw ex;

    
   
184
            }

    
   
185
        }

    
   
186
    }

    
   
187
    

    
   
188
    public void delete(AMQSession session,CheckMode mode) throws JMSException

    
   
189
    {

    
   
190
        if (destination == null)

    
   
191
        {

    
   
192
            throw new JMSException("Cannot delete a destination that wasn't created");            

    
   
193
        }

    
   
194
        else

    
   
195
        {

    
   
196
            try

    
   
197
            {

    
   
198
                Session ssn = new Session_0_10(((AMQSession_0_10)session).getQpidSession());

    
   
199
                destination.checkDelete(ssn,mode);

    
   
200
            }

    
   
201
            catch(Exception e)

    
   
202
            {

    
   
203
                JMSException ex = new JMSException("Error when checking delete option for : " + address);

    
   
204
                ex.initCause(e);

    
   
205
                ex.setLinkedException(e);

    
   
206
                throw ex;

    
   
207
            }

    
   
208
        }

    
   
209
    }

    
   
210
    

    
   
211
    @Override

    
   
212
    public boolean isNameRequired() 

    
   
213
    {

    
   
214
        return destination instanceof QpidTopic;

    
   
215
    }

    
   
216
    

    
   
217
    @Override

    
   
218
    public String toString()

    
   
219
    {

    
   
220
        return address.toString();

    
   
221
    }

    
   
222
    

    
   
223
    public Address getAddress()

    
   
224
    {

    
   
225
        return address;

    
   
226
    }

    
   
227
    

    
   
228
    @Override

    
   
229
    public boolean equals(Object o)

    
   
230
    {

    
   
231
        if (this == o)

    
   
232
        {

    
   
233
            return true;

    
   
234
        }

    
   
235
        if (o == null || getClass() != o.getClass())

    
   
236
        {

    
   
237
            return false;

    
   
238
        }

    
   
239

   

    
   
240
        final Address that = ((AddressBasedDestination) o).getAddress();

    
   
241
                

    
   
242
        if (!address.getName().equals(that.getName()))

    
   
243
        {

    
   
244
            return false;

    
   
245
        }

    
   
246
        if (!address.getSubject().equals(that.getSubject()))

    
   
247
        {

    
   
248
            return false;

    
   
249
        }

    
   
250
        // TODO compare the options

    
   
251

   

    
   
252
        return true;

    
   
253
    }

    
   
254

   

    
   
255
    @Override

    
   
256
    public int hashCode()

    
   
257
    {

    
   
258
        int result;

    
   
259
        result = address.getName() == null ? "".hashCode() : address.getName().hashCode();

    
   
260
        result = 29 * result + (address.getSubject() == null ? "".hashCode() :address.getSubject().hashCode());

    
   
261
        return result;

    
   
262
    }

    
   
263

   

    
   
264
    @Override

    
   
265
    public Reference getReference() throws NamingException

    
   
266
    {

    
   
267
        return new Reference(

    
   
268
                this.getClass().getName(),

    
   
269
                new StringRefAddr(this.getClass().getName(), address.toString()),

    
   
270
                AMQConnectionFactory.class.getName(),

    
   
271
                null);          // factory location

    
   
272
    }

    
   
273
    

    
   
274
    public long getConsumerCapacity(AMQSession ssn) throws Exception

    
   
275
    {

    
   
276
        if (destination == null)

    
   
277
        {

    
   
278
            throw new JMSException("Destination not resolved properly");            

    
   
279
        }

    
   
280
        

    
   
281
        if (destination.getConsumerCapacity() > 0)

    
   
282
        {

    
   
283
            return destination.getConsumerCapacity();

    
   
284
        }

    
   
285
        else

    
   
286
        {

    
   
287
            return super.getConsumerCapacity(ssn);

    
   
288
        }

    
   
289
    }

    
   
290
    

    
   
291
    public long getProducerCapacity(AMQSession ssn) throws Exception

    
   
292
    {

    
   
293
        if (destination == null)

    
   
294
        {

    
   
295
            throw new JMSException("Destination not resolved properly");            

    
   
296
        }

    
   
297
        

    
   
298
        if (destination.getProducerCapacity() > 0)

    
   
299
        {

    
   
300
            return destination.getProducerCapacity();

    
   
301
        }

    
   
302
        else

    
   
303
        {

    
   
304
            return super.getConsumerCapacity(ssn);

    
   
305
        }

    
   
306
    }

    
   
307

   

    
   
308
    @Override

    
   
309
    public AMQShortString getExchangeName() 

    
   
310
    {

    
   
311
        if (destination == null)

    
   
312
        {

    
   
313
            //throw new JMSException("Destination not resolved properly");           

    
   
314
        }

    
   
315
        

    
   
316
        String exchangeName;        

    
   
317
        if (isTopic())

    
   
318
        {

    
   
319
            exchangeName = address.getName();

    
   
320
        }

    
   
321
        else

    
   
322
        {

    
   
323
            exchangeName = "";

    
   
324
        }

    
   
325
        

    
   
326
        return new AMQShortString(exchangeName);

    
   
327
    }

    
   
328

   

    
   
329
    @Override

    
   
330
    public AMQShortString getRoutingKey() 

    
   
331
    {

    
   
332
        if (destination == null)

    
   
333
        {

    
   
334
            //throw new JMSException("Destination not resolved properly");            

    
   
335
        }

    
   
336
        

    
   
337
        String routingKey;        

    
   
338
        if (isTopic())

    
   
339
        {

    
   
340
            routingKey = address.getSubject();

    
   
341
        }

    
   
342
        else

    
   
343
        {

    
   
344
            routingKey = address.getName();

    
   
345
        }

    
   
346
        

    
   
347
        return new AMQShortString(routingKey);

    
   
348
    }

    
   
349

   

    
   
350
    @Override

    
   
351
    public String getQueueName() 

    
   
352
    {

    
   
353
        if (destination == null)

    
   
354
        {

    
   
355
          //throw new JMSException("Destination not resolved properly");

    
   
356
        }

    
   
357
        

    
   
358
        try

    
   
359
        {

    
   
360
            return destination.getSubscriptionQueue();

    
   
361
        }

    
   
362
        catch(Exception e)

    
   
363
        {

    
   
364
            return null;

    
   
365
        }        

    
   
366
    } 

    
   
367
    

    
   
368
}
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedQueue.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedTopic.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidDestination.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidQueue.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidTopic.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/Session.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/SubscriptionSettings.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressException.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressHelper.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressProperty.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressResolver.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Link.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Node.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressHelper_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressProperty_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressResolver_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Binding.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/ExchangeNode.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Link_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Node_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidQueue_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidTopic_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QueueNode.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/SubscriptionSettings_0_10.java
New File
 
http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/amqp_0_10/Session_0_10.java
New File
 
  1. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedDestination.java: Loading...
  2. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedQueue.java: Loading...
  3. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AddressBasedTopic.java: Loading...
  4. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidDestination.java: Loading...
  5. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidQueue.java: Loading...
  6. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/QpidTopic.java: Loading...
  7. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/Session.java: Loading...
  8. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/SubscriptionSettings.java: Loading...
  9. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressException.java: Loading...
  10. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressHelper.java: Loading...
  11. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressProperty.java: Loading...
  12. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/AddressResolver.java: Loading...
  13. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Link.java: Loading...
  14. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/Node.java: Loading...
  15. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressHelper_0_10.java: Loading...
  16. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressProperty_0_10.java: Loading...
  17. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/AddressResolver_0_10.java: Loading...
  18. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Binding.java: Loading...
  19. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/ExchangeNode.java: Loading...
  20. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Link_0_10.java: Loading...
  21. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/Node_0_10.java: Loading...
  22. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidQueue_0_10.java: Loading...
  23. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QpidTopic_0_10.java: Loading...
  24. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/QueueNode.java: Loading...
  25. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/address/amqp_0_10/SubscriptionSettings_0_10.java: Loading...
  26. http://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/messaging/amqp_0_10/Session_0_10.java: Loading...