addressSettings.setDefaultAddressRoutingType(routingType); } else if (DEFAULT_CONSUMER_WINDOW_SIZE.equalsIgnoreCase(name)) { addressSettings.setDefaultConsumerWindowSize(XMLUtil.parseInt(child));
@Test public void testConsumerWindowSizeAddressSettings() throws Exception { ActiveMQServer messagingService = createServer(false, isNetty()); final int defaultConsumerWindowSize = 1024 * 5; final AddressSettings settings = new AddressSettings(); settings.setDefaultConsumerWindowSize(defaultConsumerWindowSize); messagingService.getConfiguration() .getAddressesSettings().put(queueA.toString(), settings); messagingService.start(); messagingService.createQueue(queueA, 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()); }
@Test public void testConsumerWindowSizeAddressSettingsWildCard() throws Exception { ActiveMQServer messagingService = createServer(false, isNetty()); final int defaultConsumerWindowSize = 1024 * 5; final AddressSettings settings = new AddressSettings(); settings.setDefaultConsumerWindowSize(defaultConsumerWindowSize); messagingService.getConfiguration() .getAddressesSettings().put("#", settings); messagingService.start(); messagingService.createQueue(queueA, RoutingType.ANYCAST, queueA, null, true, false); ClientSessionFactory cf = createSessionFactory(locator); ClientSession session = cf.createSession(false, true, true); ClientConsumerImpl consumer = (ClientConsumerImpl) session.createConsumer(queueA); ClientConsumerImpl consumer2 = (ClientConsumerImpl) session.createConsumer(queueA); session.start(); assertEquals(defaultConsumerWindowSize / 2, consumer.getClientWindowSize()); assertEquals(defaultConsumerWindowSize / 2, consumer2.getClientWindowSize()); } }
@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)); }
.setDefaultPurgeOnNoConsumers(true) .setDefaultConsumersBeforeDispatch(13) .setDefaultConsumerWindowSize(51) .setDefaultDelayBeforeDispatch(19L) .setDefaultLastValueQueue(true)
.setDefaultPurgeOnNoConsumers(true) .setDefaultConsumersBeforeDispatch(13) .setDefaultConsumerWindowSize(51) .setDefaultDelayBeforeDispatch(19L) .setDefaultLastValueQueue(true)