private void deployDiverts() throws Exception { for (DivertConfiguration config : configuration.getDivertConfigurations()) { deployDivert(config); } }
static void addDivertConfigs(final OperationContext context, final Configuration configuration, final ModelNode model) throws OperationFailedException { if (model.hasDefined(CommonAttributes.DIVERT)) { final List<DivertConfiguration> configs = configuration.getDivertConfigurations(); for (Property prop : model.get(CommonAttributes.DIVERT).asPropertyList()) { configs.add(createDivertConfiguration(context, prop.getName(), prop.getValue())); } } }
static void addDivertConfigs(final OperationContext context, final Configuration configuration, final ModelNode model) throws OperationFailedException { if (model.hasDefined(CommonAttributes.DIVERT)) { final List<DivertConfiguration> configs = configuration.getDivertConfigurations(); for (Property prop : model.get(CommonAttributes.DIVERT).asPropertyList()) { configs.add(createDivertConfiguration(context, prop.getName(), prop.getValue())); } } }
private void parseDivertConfiguration(final Element e, final Configuration mainConfig) { String name = e.getAttribute("name"); String routingName = getString(e, "routing-name", null, Validators.NO_CHECK); String address = getString(e, "address", null, Validators.NOT_NULL_OR_EMPTY); String forwardingAddress = getString(e, "forwarding-address", null, Validators.NOT_NULL_OR_EMPTY); boolean exclusive = getBoolean(e, "exclusive", ActiveMQDefaultConfiguration.isDefaultDivertExclusive()); String transformerClassName = getString(e, "transformer-class-name", null, Validators.NO_CHECK); ComponentConfigurationRoutingType routingType = ComponentConfigurationRoutingType.valueOf(getString(e, "routing-type", ActiveMQDefaultConfiguration.getDefaultDivertRoutingType(), Validators.COMPONENT_ROUTING_TYPE)); TransformerConfiguration transformerConfiguration = null; String filterString = null; NodeList children = e.getChildNodes(); for (int j = 0; j < children.getLength(); j++) { Node child = children.item(j); if (child.getNodeName().equals("filter")) { filterString = getAttributeValue(child, "string"); } else if (child.getNodeName().equals("transformer")) { transformerConfiguration = getTransformerConfiguration(child); } } if (transformerConfiguration == null && transformerClassName != null) { transformerConfiguration = getTransformerConfiguration(transformerClassName); } DivertConfiguration config = new DivertConfiguration().setName(name).setRoutingName(routingName).setAddress(address).setForwardingAddress(forwardingAddress).setExclusive(exclusive).setFilterString(filterString).setTransformerConfiguration(transformerConfiguration).setRoutingType(routingType); mainConfig.getDivertConfigurations().add(config); }
@Override public void reload(URL uri) throws Exception { Configuration config = new FileConfigurationParser().parseMainConfig(uri.openStream()); LegacyJMSConfiguration legacyJMSConfiguration = new LegacyJMSConfiguration(config); legacyJMSConfiguration.parseConfiguration(uri.openStream()); configuration.setSecurityRoles(config.getSecurityRoles()); configuration.setAddressesSettings(config.getAddressesSettings()); configuration.setDivertConfigurations(config.getDivertConfigurations()); configuration.setAddressConfigurations(config.getAddressConfigurations()); configuration.setQueueConfigurations(config.getQueueConfigurations()); configurationReloadDeployed.set(false); if (isActive()) { deployReloadableConfigFromConfiguration(); } } }
private void addDivert(Configuration serverConfig, String source, String target, boolean exclusive) { List<DivertConfiguration> divertConfigs = serverConfig.getDivertConfigurations(); DivertConfiguration newDivert = new DivertConfiguration(); newDivert.setName("myDivert"); newDivert.setAddress(source); newDivert.setForwardingAddress(target); newDivert.setExclusive(exclusive); divertConfigs.add(newDivert); }
private void deployReloadableConfigFromConfiguration() throws Exception { if (configurationReloadDeployed.compareAndSet(false, true)) { ActiveMQServerLogger.LOGGER.reloadingConfiguration("security"); securityRepository.swap(configuration.getSecurityRoles().entrySet()); ActiveMQServerLogger.LOGGER.reloadingConfiguration("address settings"); addressSettingsRepository.swap(configuration.getAddressesSettings().entrySet()); ActiveMQServerLogger.LOGGER.reloadingConfiguration("diverts"); for (DivertConfiguration divertConfig : configuration.getDivertConfigurations()) { if (postOffice.getBinding(new SimpleString(divertConfig.getName())) == null) { deployDivert(divertConfig); } } ActiveMQServerLogger.LOGGER.reloadingConfiguration("addresses"); undeployAddressesAndQueueNotInConfiguration(configuration); deployAddressesFromConfiguration(configuration); deployQueuesFromListCoreQueueConfiguration(configuration.getQueueConfigurations()); } }
Assert.assertEquals(23456, dc.getRefreshTimeout()); Assert.assertEquals(3, conf.getDivertConfigurations().size()); for (DivertConfiguration dic : conf.getDivertConfigurations()) { if (dic.getName().equals("divert1")) { Assert.assertEquals("divert1", dic.getName());
Assert.assertEquals(Collections.emptyList(), conf.getDivertConfigurations());