/** * Parse the topic node as a TopicConfiguration object * * @param node * @return topic configuration * @throws Exception */ public void parseTopicConfiguration(final Node node) throws Exception { String topicName = node.getAttributes().getNamedItem(NAME_ATTR).getNodeValue(); configuration.addAddressConfiguration(new CoreAddressConfiguration() .setName(topicName) .addRoutingType(RoutingType.MULTICAST)); }
protected CoreAddressConfiguration parseAddressConfiguration(final Node node) { CoreAddressConfiguration addressConfiguration = new CoreAddressConfiguration(); String name = getAttributeValue(node, "name"); addressConfiguration.setName(name); List<CoreQueueConfiguration> queueConfigurations = new ArrayList<>(); NodeList children = node.getChildNodes(); for (int j = 0; j < children.getLength(); j++) { Node child = children.item(j); if (child.getNodeName().equals("multicast")) { addressConfiguration.addRoutingType(RoutingType.MULTICAST); queueConfigurations.addAll(parseQueueConfigurations((Element) child, RoutingType.MULTICAST)); } else if (child.getNodeName().equals("anycast")) { addressConfiguration.addRoutingType(RoutingType.ANYCAST); queueConfigurations.addAll(parseQueueConfigurations((Element) child, RoutingType.ANYCAST)); } } for (CoreQueueConfiguration coreQueueConfiguration : queueConfigurations) { coreQueueConfiguration.setAddress(name); } addressConfiguration.setQueueConfigurations(queueConfigurations); return addressConfiguration; }
.setName(queueName) .addRoutingType(RoutingType.ANYCAST) .addQueueConfiguration(new CoreQueueConfiguration()
private void addQueue(Configuration serverConfig, String address, String name) { List<CoreAddressConfiguration> addrConfigs = serverConfig.getAddressConfigurations(); CoreAddressConfiguration addrCfg = new CoreAddressConfiguration(); addrCfg.setName(address); addrCfg.addRoutingType(RoutingType.ANYCAST); CoreQueueConfiguration qConfig = new CoreQueueConfiguration(); qConfig.setName(name); qConfig.setAddress(address); addrCfg.addQueueConfiguration(qConfig); addrConfigs.add(addrCfg); }
@Override protected void start() throws Exception { Configuration liveConf = createDefaultInVMConfig(); server = createServer(false, liveConf); server.getConfiguration().getAddressConfigurations().add(new CoreAddressConfiguration().setName(ADDRESS.toString()).addRoutingType(RoutingType.MULTICAST)); server.start(); waitForServerToStart(server); }
@Override protected void start() throws Exception { Configuration liveConf = createDefaultNettyConfig(); server = createServer(false, liveConf); server.getConfiguration().getAddressConfigurations().add(new CoreAddressConfiguration().setName(ADDRESS.toString()).addRoutingType(RoutingType.MULTICAST)); server.start(); waitForServerToStart(server); }
private CoreAddressConfiguration createAddressConfiguration(String TOPIC) { CoreAddressConfiguration coreAddressConfiguration = new CoreAddressConfiguration(); coreAddressConfiguration.addRoutingType(RoutingType.ANYCAST); coreAddressConfiguration.setName(TOPIC); CoreQueueConfiguration coreQueueConfiguration = new CoreQueueConfiguration(); coreQueueConfiguration.setName(TOPIC); coreQueueConfiguration.setAddress(TOPIC); coreQueueConfiguration.setRoutingType(RoutingType.ANYCAST); coreAddressConfiguration.addQueueConfiguration(coreQueueConfiguration); return coreAddressConfiguration; }
List<CoreAddressConfiguration> coreAddressConfigurations = configuration.getAddressConfigurations(); coreAddressConfigurations.add(new CoreAddressConfiguration() .setName(jmsQueueConfig.getName()) .addRoutingType(RoutingType.ANYCAST) .addQueueConfiguration(new CoreQueueConfiguration() List<CoreAddressConfiguration> coreAddressConfigurations = configuration.getAddressConfigurations(); coreAddressConfigurations.add(new CoreAddressConfiguration() .setName(topicConfig.getName()) .addRoutingType(RoutingType.MULTICAST));
.setConnectionTtlCheckInterval(500) .addQueueConfiguration(new CoreQueueConfiguration().setAddress(getQueueName()).setName(getQueueName()).setRoutingType(RoutingType.ANYCAST)) .addAddressConfiguration(new CoreAddressConfiguration().setName(getTopicName()).addRoutingType(RoutingType.MULTICAST));
@Test(timeout = 60 * 1000) public void testBrokerRestartAfterSubHashWithConfigurationQueues() throws Exception { // Add some pre configured queues CoreQueueConfiguration coreQueueConfiguration = new CoreQueueConfiguration(); coreQueueConfiguration.setName("DLQ"); coreQueueConfiguration.setRoutingType(RoutingType.ANYCAST); coreQueueConfiguration.setAddress("DLA"); CoreAddressConfiguration coreAddressConfiguration = new CoreAddressConfiguration(); coreAddressConfiguration.setName("DLA"); coreAddressConfiguration.addRoutingType(RoutingType.ANYCAST); coreAddressConfiguration.addQueueConfiguration(coreQueueConfiguration); getServer().getConfiguration().getAddressConfigurations().add(coreAddressConfiguration); getServer().stop(); getServer().start(); getServer().waitForActivation(10, TimeUnit.SECONDS); for (int i = 0; i < 2; i++) { MQTT mqtt = createMQTTConnection("myClient", false); BlockingConnection connection = mqtt.blockingConnection(); connection.connect(); connection.subscribe(new Topic[]{new Topic("#", QoS.AT_MOST_ONCE)}); connection.disconnect(); getServer().stop(); getServer().start(); getServer().waitForActivation(10, TimeUnit.SECONDS); } }