This closes #958
This commit is contained in:
commit
c441625e5a
|
@ -246,7 +246,7 @@ public class ProtonServerSenderContext extends ProtonInitializable implements Pr
|
||||||
boolean clientDefined = hasCapabilities(TOPIC, source) || hasCapabilities(QUEUE, source);
|
boolean clientDefined = hasCapabilities(TOPIC, source) || hasCapabilities(QUEUE, source);
|
||||||
if (clientDefined) {
|
if (clientDefined) {
|
||||||
multicast = hasCapabilities(TOPIC, source);
|
multicast = hasCapabilities(TOPIC, source);
|
||||||
AddressQueryResult addressQueryResult = sessionSPI.addressQuery(addressToUse.toString(), defaultRoutingType, true);
|
AddressQueryResult addressQueryResult = sessionSPI.addressQuery(addressToUse.toString(), multicast ? RoutingType.MULTICAST : RoutingType.ANYCAST, true);
|
||||||
if (!addressQueryResult.isExists()) {
|
if (!addressQueryResult.isExists()) {
|
||||||
throw ActiveMQAMQPProtocolMessageBundle.BUNDLE.sourceAddressDoesntExist();
|
throw ActiveMQAMQPProtocolMessageBundle.BUNDLE.sourceAddressDoesntExist();
|
||||||
}
|
}
|
||||||
|
|
|
@ -301,6 +301,24 @@ public class ClientDefinedMultiConsumerTest extends AmqpClientTestSupport {
|
||||||
connection.close();
|
connection.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(timeout = 60000)
|
||||||
|
public void testAddressDoesntExist() throws Exception {
|
||||||
|
AmqpClient client = createAmqpClient();
|
||||||
|
|
||||||
|
AmqpConnection connection = addConnection(client.connect("myClientId"));
|
||||||
|
AmqpSession session = connection.createSession();
|
||||||
|
Source source = createNonSharedSource(TerminusDurability.CONFIGURATION);
|
||||||
|
Source source1 = createSharedSource(TerminusDurability.CONFIGURATION);
|
||||||
|
AmqpReceiver receiver = session.createMulticastReceiver(source, "myReceiverID", "mySub");
|
||||||
|
try {
|
||||||
|
session.createMulticastReceiver(source1, "myReceiverID", "mySub|2");
|
||||||
|
fail("Exception expected");
|
||||||
|
} catch (Exception e) {
|
||||||
|
//expected
|
||||||
|
}
|
||||||
|
connection.close();
|
||||||
|
}
|
||||||
|
|
||||||
private Source createNonSharedSource(TerminusDurability terminusDurability) {
|
private Source createNonSharedSource(TerminusDurability terminusDurability) {
|
||||||
Source source = new Source();
|
Source source = new Source();
|
||||||
source.setAddress(address.toString());
|
source.setAddress(address.toString());
|
||||||
|
|
Loading…
Reference in New Issue