/** * Stops listening to service discovery events if they are no longer in use, then closes the service discovery. * * @param options the service discovery options */ protected void stopListening(ServiceDiscoveryOptions options) { eventManager.unregisterConsumer(options.getAnnounceAddress()); eventManager.unregisterConsumer(options.getUsageAddress()); closeServiceDiscovery(options.getName()); }
/** * Unregisters the published schema indicated by the provided registration. * * @param registration the schema registration */ @Override protected void unregister(SchemaRegistration registration) { consumerManager.unregisterConsumer(registration.getRecord().getLocation().getString(Record.ENDPOINT)); super.unregister(registration); }
@Test public void should_Manage_Consumers_Without_Registering_Duplicates() { messageConsumers.registerConsumer("announce", (SchemaAnnounceHandler) rh -> {}); assertEquals(1, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("announce").isRegistered()); messageConsumers.registerConsumer("usage", (SchemaUsageHandler) rh -> {}); assertEquals(2, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("usage").isRegistered()); messageConsumers.registerConsumer("usage", (SchemaUsageHandler) rh -> {}); assertEquals(2, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("usage").isRegistered()); messageConsumers.unregisterConsumer("usage"); assertEquals(2, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("usage").isRegistered()); messageConsumers.unregisterConsumer("usage"); assertEquals(1, messageConsumers.getConsumers().size()); messageConsumers.unregisterConsumer("usage"); assertEquals(1, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("announce").isRegistered()); messageConsumers.unregisterConsumer("announce"); assertEquals(0, messageConsumers.getConsumers().size()); }
@Test public void should_Manage_Service_Consumers() { SchemaDefinition definition = SchemaDefinition .createInstance(droidsSchema, SchemaMetadata.create()); messageConsumers.registerServiceConsumer("DroidQueries", definition); assertEquals(1, messageConsumers.getConsumers().size()); assertTrue(messageConsumers.getConsumers().get("DroidQueries").isRegistered()); messageConsumers.registerServiceConsumer("DroidQueries", definition); assertEquals(1, messageConsumers.getConsumers().size()); messageConsumers.unregisterConsumer("DroidQueries"); assertEquals(1, messageConsumers.getConsumers().size()); messageConsumers.registerConsumer("announce", (SchemaAnnounceHandler) rh -> {}); assertEquals(2, messageConsumers.getConsumers().size()); messageConsumers.unregisterConsumer("DroidQueries"); assertEquals(1, messageConsumers.getConsumers().size()); messageConsumers.close(); assertEquals(0, messageConsumers.getConsumers().size()); }