private AddressSettings createAddressSettings() { AddressSettings addressSettings = new AddressSettings(); addressSettings.setRedistributionDelay(0); addressSettings.setDefaultAddressRoutingType(RoutingType.ANYCAST); return addressSettings; }
@Test public void testAutoCreate() throws Exception { server1.getAddressSettingsRepository().getMatch("#").setAutoCreateQueues(true).setAutoCreateAddresses(true).setRedistributionDelay(0); server2.getAddressSettingsRepository().getMatch("#").setAutoCreateQueues(true).setAutoCreateAddresses(true).setRedistributionDelay(0); Connection conn1 = cf1.createConnection(); Connection conn2 = cf2.createConnection();
addressSettings.setMaxDeliveryAttempts(XMLUtil.parseInt(child)); } else if (REDISTRIBUTION_DELAY_NODE_NAME.equalsIgnoreCase(name)) { addressSettings.setRedistributionDelay(XMLUtil.parseLong(child)); } else if (SEND_TO_DLA_ON_NO_ROUTE.equalsIgnoreCase(name)) { addressSettings.setSendToDLAOnNoRoute(XMLUtil.parseBoolean(child));
protected void setRedistributionDelay(final long delay) { AddressSettings as = new AddressSettings().setRedistributionDelay(delay); getServer(0).getAddressSettingsRepository().addMatch("queues.*", as); getServer(1).getAddressSettingsRepository().addMatch("queues.*", as); }
protected void setRedistributionDelay(final long delay) { AddressSettings as = new AddressSettings().setRedistributionDelay(delay); getServer(0).getAddressSettingsRepository().addMatch("queues.*", as); getServer(1).getAddressSettingsRepository().addMatch("queues.*", as); }
protected void setRedistributionDelay(final long delay) { AddressSettings as = new AddressSettings().setRedistributionDelay(delay); getServer(0).getAddressSettingsRepository().addMatch("queues.*", as); getServer(1).getAddressSettingsRepository().addMatch("queues.*", as); }
addressSettings.setRedeliveryMultiplier(redeliveryMultiplier); addressSettings.setMaxRedeliveryDelay(maxRedeliveryDelay); addressSettings.setRedistributionDelay(redistributionDelay); addressSettings.setSendToDLAOnNoRoute(sendToDLAOnNoRoute); if (addressFullMessagePolicy == null) {
/** * @param messageLoadBalancingType * @throws Exception */ protected void setServer(final MessageLoadBalancingType messageLoadBalancingType, int server) throws Exception { setupLiveServerWithDiscovery(server, groupAddress, groupPort, isFileStorage(), isNetty(), false); AddressSettings setting = new AddressSettings().setRedeliveryDelay(0).setRedistributionDelay(0); servers[server].getAddressSettingsRepository().addMatch("#", setting); setupDiscoveryClusterConnection("cluster" + server, server, "dg1", "queues", messageLoadBalancingType, 1, isNetty()); }
@Override protected ActiveMQServer createServer(final boolean realFiles, final Configuration configuration, final long pageSize, final long maxAddressSize, final Map<String, AddressSettings> settings) { DivertConfiguration divertConf = new DivertConfiguration().setName("notifications-divert").setAddress("*.Provider.*.Agent.*.Status").setForwardingAddress("Notifications").setExclusive(true); configuration.addDivertConfiguration(divertConf); ActiveMQServer server = addServer(ActiveMQServers.newActiveMQServer(configuration, realFiles)); if (settings != null) { for (Map.Entry<String, AddressSettings> setting : settings.entrySet()) { server.getAddressSettingsRepository().addMatch(setting.getKey(), setting.getValue()); } } AddressSettings defaultSetting = new AddressSettings().setPageSizeBytes(pageSize).setRedeliveryDelay(0).setMaxSizeBytes(maxAddressSize).setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE).setRedistributionDelay(0).setAutoCreateQueues(true).setAutoCreateAddresses(true); server.getAddressSettingsRepository().addMatch("#", defaultSetting); return server; }
protected void setRedistributionDelay(final long delay) { AddressSettings as = new AddressSettings().setRedistributionDelay(delay); getServer(0).getAddressSettingsRepository().addMatch("queues.*", as); getServer(1).getAddressSettingsRepository().addMatch("queues.*", as); getServer(2).getAddressSettingsRepository().addMatch("queues.*", as); }
@Override @Before public void setUp() throws Exception { super.setUp(); setupLiveServer(0, isFileStorage(), isNetty(), true); setupLiveServer(1, isFileStorage(), isNetty(), true); LiveOnlyPolicyConfiguration haPolicyConfiguration0 = (LiveOnlyPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration(); haPolicyConfiguration0.setScaleDownConfiguration(new ScaleDownConfiguration()); LiveOnlyPolicyConfiguration haPolicyConfiguration1 = (LiveOnlyPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration(); haPolicyConfiguration1.setScaleDownConfiguration(new ScaleDownConfiguration()); if (useScaleDownGroupName) { haPolicyConfiguration0.getScaleDownConfiguration().setGroupName("bill"); haPolicyConfiguration1.getScaleDownConfiguration().setGroupName("bill"); } setupClusterConnection("cluster0", "testAddress", MessageLoadBalancingType.ON_DEMAND, 1, isNetty(), 0, 1); setupClusterConnection("cluster0", "testAddress", MessageLoadBalancingType.ON_DEMAND, 1, isNetty(), 1, 0); haPolicyConfiguration0.getScaleDownConfiguration().getConnectors().addAll(servers[0].getConfiguration().getClusterConfigurations().iterator().next().getStaticConnectors()); haPolicyConfiguration1.getScaleDownConfiguration().getConnectors().addAll(servers[1].getConfiguration().getClusterConfigurations().iterator().next().getStaticConnectors()); servers[0].getConfiguration().getAddressesSettings().put("#", new AddressSettings().setRedistributionDelay(0)); servers[1].getConfiguration().getAddressesSettings().put("#", new AddressSettings().setRedistributionDelay(0)); startServers(0, 1); setupSessionFactory(0, isNetty()); setupSessionFactory(1, isNetty()); }
private void configureBeforeStart(Configuration... serverConfigs) { for (Configuration config : serverConfigs) { config.setPersistenceEnabled(true); config.setMessageCounterEnabled(true); config.setJournalFileSize(20971520); config.setJournalMinFiles(20); config.setJournalCompactPercentage(50); Map<String, AddressSettings> addressSettingsMap0 = config.getAddressesSettings(); AddressSettings addrSettings = addressSettingsMap0.get("#"); if (addrSettings == null) { addrSettings = new AddressSettings(); addressSettingsMap0.put("#", addrSettings); } addrSettings.setDeadLetterAddress(new SimpleString("jms.queue.DLQ")); addrSettings.setExpiryAddress(new SimpleString("jms.queue.ExpiryQueue")); addrSettings.setRedeliveryDelay(30); addrSettings.setMaxDeliveryAttempts(5); addrSettings.setMaxSizeBytes(1048576); addrSettings.setAddressFullMessagePolicy(AddressFullMessagePolicy.PAGE); addrSettings.setPageSizeBytes(524288); addrSettings.setMessageCounterHistoryDayLimit(10); addrSettings.setRedistributionDelay(1000); } }
/** * @return */ protected Configuration createConfigServer(final int source, final int destination) throws Exception { final String destinationLabel = "toServer" + destination; final String sourceLabel = "server" + source; Configuration configuration = createDefaultInVMConfig(source).setSecurityEnabled(false) .setJMXManagementEnabled(true) .setPersistenceEnabled(false) .addConnectorConfiguration(destinationLabel, new TransportConfiguration(InVMConnectorFactory.class.getName(), generateInVMParams(destination))) .addConnectorConfiguration(sourceLabel, new TransportConfiguration(InVMConnectorFactory.class.getName(), generateInVMParams(source))) .addClusterConfiguration(new ClusterConnectionConfiguration().setName(destinationLabel) .setConnectorName(sourceLabel) .setRetryInterval(250) .setMaxHops(MAX_HOPS) .setConfirmationWindowSize(1024) .setMessageLoadBalancingType(MessageLoadBalancingType.ON_DEMAND) .setStaticConnectors(new ArrayList<String>() { { add(destinationLabel); } })); configuration.getAddressesSettings().put("#", new AddressSettings().setRedistributionDelay(0)); return configuration; }
private void startServers(MessageLoadBalancingType loadBalancingType) throws Exception { setupServers(); setRedistributionDelay(0); setupCluster(loadBalancingType); AddressSettings as = new AddressSettings().setRedistributionDelay(0).setExpiryAddress(SimpleString.toSimpleString("queues.expiry")); getServer(0).getAddressSettingsRepository().addMatch("queues.*", as); getServer(1).getAddressSettingsRepository().addMatch("queues.*", as); startServers(0); startServers(1); createQueue(SimpleString.toSimpleString("queues.expiry")); createQueue(queueName); }
addressSettings.setPageCacheMaxSize(5); addressSettings.setPageSizeBytes(2097152); addressSettings.setRedistributionDelay(-1); addressSettings.setSendToDLAOnNoRoute(false); addressSettings.setSlowConsumerCheckPeriod(5);
private void testBasicScaleDownInternal(int reconnectAttempts, boolean large) throws Exception { AddressSettings addressSettings = new AddressSettings().setRedistributionDelay(0); servers[0].getAddressSettingsRepository().addMatch("#", addressSettings); servers[1].getAddressSettingsRepository().addMatch("#", addressSettings);
@Override @Before public void setUp() throws Exception { super.setUp(); setupLiveServer(1, true, isSharedStore(), true, false); setupLiveServer(3, true, isSharedStore(), true, false); setupBackupServer(2, 3, true, isSharedStore(), true); final String address = ReplicatedDistributionTest.ADDRESS.toString(); // notice the abuse of the method call, '3' is not a backup for '1' setupClusterConnectionWithBackups("test", address, MessageLoadBalancingType.ON_DEMAND, 1, true, 1, new int[]{3}); setupClusterConnectionWithBackups("test", address, MessageLoadBalancingType.ON_DEMAND, 1, true, 3, new int[]{2, 1}); setupClusterConnectionWithBackups("test", address, MessageLoadBalancingType.ON_DEMAND, 1, true, 2, new int[]{3}); AddressSettings as = new AddressSettings().setRedistributionDelay(0); for (int i : new int[]{1, 2, 3}) { getServer(i).getAddressSettingsRepository().addMatch("test.*", as); getServer(i).start(); } setupSessionFactory(1, -1, true, true); setupSessionFactory(3, 2, true, true); sessionOne = sfs[1].createSession(true, true); sessionThree = sfs[3].createSession(false, false); sessionOne.createQueue(ReplicatedDistributionTest.ADDRESS, ReplicatedDistributionTest.ADDRESS, true); sessionThree.createQueue(ReplicatedDistributionTest.ADDRESS, ReplicatedDistributionTest.ADDRESS, true); consThree = sessionThree.createConsumer(ReplicatedDistributionTest.ADDRESS); sessionThree.start(); }
@Test public void testScaleDownWithMultipleQueues() throws Exception { AddressSettings addressSettings = new AddressSettings().setRedistributionDelay(0); servers[0].getAddressSettingsRepository().addMatch("#", addressSettings); servers[1].getAddressSettingsRepository().addMatch("#", addressSettings);
settings.setRedistributionDelay(AddressSettingDefinition.REDISTRIBUTION_DELAY.resolveModelAttribute(context, config).asLong());
settings.setRedistributionDelay(AddressSettingDefinition.REDISTRIBUTION_DELAY.resolveModelAttribute(context, config).asLong());