@Test
public void testConsumerWindowSizeAddressSettingsDifferentAddressAndQueueName() throws Exception {
ActiveMQServer messagingService = createServer(false, isNetty());
final int defaultConsumerWindowSize = 1024 * 5;
final AddressSettings settings = new AddressSettings();
settings.setDefaultConsumerWindowSize(defaultConsumerWindowSize);
messagingService.getConfiguration()
.getAddressesSettings().put(addressA.toString(), settings);
messagingService.start();
messagingService.createQueue(addressA, RoutingType.ANYCAST, queueA, null, true, false);
ClientSessionFactory cf = createSessionFactory(locator);
ClientSession session = cf.createSession(false, true, true);
ClientConsumerImpl consumer = (ClientConsumerImpl) session.createConsumer(queueA);
session.start();
assertEquals(defaultConsumerWindowSize / 2, consumer.getClientWindowSize());
ServerSession ss = messagingService.getSessionByID(((ClientSessionImpl)session).getName());
ServerConsumerImpl cons = (ServerConsumerImpl) ss.locateConsumer(consumer.getConsumerContext().getId());
assertTrue(Wait.waitFor(() -> cons.getAvailableCredits().get() == consumer.getClientWindowSize() * 2, 5000, 50));
}