@Override @Deprecated public boolean isWildcardRoutingEnabled() { return wildcardConfiguration.isRoutingEnabled(); }
public PostOfficeImpl(final ActiveMQServer server, final StorageManager storageManager, final PagingManager pagingManager, final QueueFactory bindableFactory, final ManagementService managementService, final long expiryReaperPeriod, final long addressQueueReaperPeriod, final WildcardConfiguration wildcardConfiguration, final int idCacheSize, final boolean persistIDCache, final HierarchicalRepository<AddressSettings> addressSettingsRepository) { this.storageManager = storageManager; queueFactory = bindableFactory; this.managementService = managementService; this.pagingManager = pagingManager; this.expiryReaperPeriod = expiryReaperPeriod; this.addressQueueReaperPeriod = addressQueueReaperPeriod; if (wildcardConfiguration.isRoutingEnabled()) { addressManager = new WildcardAddressManager(this, wildcardConfiguration, storageManager); } else { addressManager = new SimpleAddressManager(this, wildcardConfiguration, storageManager); } this.idCacheSize = idCacheSize; this.persistIDCache = persistIDCache; this.addressSettingsRepository = addressSettingsRepository; this.server = server; }
/** * @param e * @return */ protected void parseWildcardConfiguration(final Element e, final Configuration mainConfig) { WildcardConfiguration conf = mainConfig.getWildcardConfiguration(); conf.setDelimiter(getString(e, "delimiter", Character.toString(conf.getDelimiter()), Validators.NO_CHECK).charAt(0)); conf.setAnyWords(getString(e, "any-words", Character.toString(conf.getAnyWords()), Validators.NO_CHECK).charAt(0)); conf.setSingleWord(getString(e, "single-word", Character.toString(conf.getSingleWord()), Validators.NO_CHECK).charAt(0)); conf.setRoutingEnabled(getBoolean(e, "enabled", conf.isRoutingEnabled())); conf.setRoutingEnabled(getBoolean(e, "routing-enabled", conf.isRoutingEnabled())); }
@Test public void testWildcardConfiguration() throws Exception { FileConfigurationParser parser = new FileConfigurationParser(); String configStr = firstPart + "<wildcard-addresses>\n<routing-enabled>true</routing-enabled>\n<delimiter>/</delimiter>\n<any-words>></any-words></wildcard-addresses>" + lastPart; ByteArrayInputStream input = new ByteArrayInputStream(configStr.getBytes(StandardCharsets.UTF_8)); Configuration config = parser.parseMainConfig(input); WildcardConfiguration wildCard = config.getWildcardConfiguration(); assertEquals('/', wildCard.getDelimiter()); assertTrue(wildCard.isRoutingEnabled()); assertEquals('>', wildCard.getAnyWords()); assertEquals('*', wildCard.getSingleWord()); }