/** * Register a new {@link RabbitListenerEndpoint} using the default * {@link RabbitListenerContainerFactory} to create the underlying container. * @param endpoint the {@link RabbitListenerEndpoint} instance to register. * @see #setContainerFactory(RabbitListenerContainerFactory) * @see #registerEndpoint(RabbitListenerEndpoint, RabbitListenerContainerFactory) */ public void registerEndpoint(RabbitListenerEndpoint endpoint) { registerEndpoint(endpoint, null); }
/** * Register a new {@link RabbitListenerEndpoint} using the default * {@link RabbitListenerContainerFactory} to create the underlying container. * @param endpoint the {@link RabbitListenerEndpoint} instance to register. * @see #setContainerFactory(RabbitListenerContainerFactory) * @see #registerEndpoint(RabbitListenerEndpoint, RabbitListenerContainerFactory) */ public void registerEndpoint(RabbitListenerEndpoint endpoint) { registerEndpoint(endpoint, null); }
@Test public void registerNullEndpoint() { thrown.expect(IllegalArgumentException.class); registrar.registerEndpoint(null, containerFactory); }
@Test public void registerNullEndpointId() { thrown.expect(IllegalArgumentException.class); registrar.registerEndpoint(new SimpleRabbitListenerEndpoint(), containerFactory); }
@Test public void registerEmptyEndpointId() { SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId(""); thrown.expect(IllegalArgumentException.class); registrar.registerEndpoint(endpoint, containerFactory); }
@Override public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId("myCustomEndpointId"); endpoint.setQueueNames("myQueue"); endpoint.setMessageListener(this.messageListener); registrar.registerEndpoint(endpoint); }
@Test public void registerContainerWithoutFactory() throws Exception { SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId("myEndpoint"); registrar.setContainerFactory(containerFactory); registrar.registerEndpoint(endpoint); registrar.afterPropertiesSet(); assertNotNull("Container not created", registry.getListenerContainer("myEndpoint")); assertEquals("myEndpoint", registry.getListenerContainerIds().iterator().next()); assertEquals(1, registry.getListenerContainers().size()); }
RabbitListenerContainerFactory<?> factory = resolveContainerFactory(rabbitListener, adminTarget, beanName); this.registrar.registerEndpoint(endpoint, factory);
@Test public void registerNullContainerFactoryIsAllowed() throws Exception { SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId("some id"); registrar.setContainerFactory(containerFactory); registrar.registerEndpoint(endpoint, null); registrar.afterPropertiesSet(); assertNotNull("Container not created", registry.getListenerContainer("some id")); assertEquals("some id", registry.getListenerContainerIds().iterator().next()); assertEquals(1, registry.getListenerContainers().size()); }
RabbitListenerContainerFactory<?> factory = resolveContainerFactory(rabbitListener, adminTarget, beanName); this.registrar.registerEndpoint(endpoint, factory);
@Test public void registerNullContainerFactoryWithNoDefault() throws Exception { SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId("some id"); registrar.registerEndpoint(endpoint, null); thrown.expect(IllegalStateException.class); thrown.expectMessage(endpoint.toString()); registrar.afterPropertiesSet(); }
@Override public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { registrar.setEndpointRegistry(customRegistry()); // Also register a custom endpoint SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId("myCustomEndpointId"); endpoint.setQueueNames("myQueue"); endpoint.setMessageListener(simpleMessageListener()); registrar.registerEndpoint(endpoint); }
private void registerListenerEndpoint(RabbitListenerEndpointRegistrar aRegistrar, Queue aQueue, Exchange aExchange, int aConcurrency, Object aDelegate, String aMethodName) { admin(connectionFactory).declareQueue(aQueue); admin(connectionFactory).declareBinding(BindingBuilder.bind(aQueue) .to(aExchange) .with(aQueue.getName()) .noargs()); MessageListenerAdapter messageListener = new MessageListenerAdapter(aDelegate); messageListener.setMessageConverter(jacksonAmqpMessageConverter(objectMapper)); messageListener.setDefaultListenerMethod(aMethodName); SimpleRabbitListenerEndpoint endpoint = new SimpleRabbitListenerEndpoint(); endpoint.setId(aQueue.getName()+"Endpoint"); endpoint.setQueueNames(aQueue.getName()); endpoint.setMessageListener(messageListener); aRegistrar.registerEndpoint(endpoint,createContainerFactory(aConcurrency)); }