private SimpleJmsListenerEndpoint createEndpoint(String id, String destinationName) { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId(id); endpoint.setDestination(destinationName); return endpoint; }
@Test public void registerNullEndpointId() { this.thrown.expect(IllegalArgumentException.class); this.registrar.registerEndpoint(new SimpleJmsListenerEndpoint(), this.containerFactory); }
private JmsListenerEndpoint createDummyEndpoint() { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setMessageListener(new MessageListenerAdapter()); endpoint.setDestination("testQueue"); return endpoint; }
@Test public void createWithNullEndpointId() { thrown.expect(IllegalArgumentException.class); registry.registerListenerContainer(new SimpleJmsListenerEndpoint(), containerFactory); }
@Test public void setupMessageContainerUnsupportedContainer() { MessageListenerContainer container = mock(MessageListenerContainer.class); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setMessageListener(new MessageListenerAdapter()); thrown.expect(IllegalArgumentException.class); endpoint.setupListenerContainer(container); }
@Override public void configureJmsListeners(JmsListenerEndpointRegistrar registrar) { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId("myCustomEndpointId"); endpoint.setDestination("myQueue"); endpoint.setMessageListener(messageListener); registrar.registerEndpoint(endpoint); }
@Test public void registerEmptyEndpointId() { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId(""); this.thrown.expect(IllegalArgumentException.class); this.registrar.registerEndpoint(endpoint, this.containerFactory); }
@Test public void setupMessageContainerNoListener() { DefaultMessageListenerContainer container = new DefaultMessageListenerContainer(); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); thrown.expect(IllegalStateException.class); endpoint.setupListenerContainer(container); }
@Test public void createListener() { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); assertSame(messageListener, endpoint.createMessageListener(container)); }
@Test public void registerContainerWithoutFactory() throws Exception { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId("myEndpoint"); this.registrar.setContainerFactory(this.containerFactory); this.registrar.registerEndpoint(endpoint); this.registrar.afterPropertiesSet(); assertNotNull("Container not created", this.registry.getListenerContainer("myEndpoint")); assertEquals(1, this.registry.getListenerContainers().size()); assertEquals("myEndpoint", this.registry.getListenerContainerIds().iterator().next()); }
@Test public void registerNullContainerFactoryIsAllowed() throws Exception { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId("some id"); this.registrar.setContainerFactory(this.containerFactory); this.registrar.registerEndpoint(endpoint, null); this.registrar.afterPropertiesSet(); assertNotNull("Container not created", this.registry.getListenerContainer("some id")); assertEquals(1, this.registry.getListenerContainers().size()); assertEquals("some id", this.registry.getListenerContainerIds().iterator().next()); }
@Override public void configureJmsListeners(JmsListenerEndpointRegistrar registrar) { registrar.setEndpointRegistry(customRegistry()); // Also register a custom endpoint SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId("myCustomEndpointId"); endpoint.setDestination("myQueue"); endpoint.setMessageListener(simpleMessageListener()); registrar.registerEndpoint(endpoint); }
@Test public void registerNullContainerFactoryWithNoDefault() throws Exception { SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setId("some id"); this.registrar.registerEndpoint(endpoint, null); this.thrown.expect(IllegalStateException.class); this.thrown.expectMessage(endpoint.toString()); this.registrar.afterPropertiesSet(); }
@Test public void setupConcurrencySimpleContainer() { SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(); MessageListener messageListener = new MessageListenerAdapter(); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setConcurrency("5-10"); // simple implementation only support max value endpoint.setMessageListener(messageListener); endpoint.setupListenerContainer(container); assertEquals(10, new DirectFieldAccessor(container).getPropertyValue("concurrentConsumers")); }
@Test public void jcaExclusiveProperties() { DefaultJcaListenerContainerFactory factory = new DefaultJcaListenerContainerFactory(); factory.setDestinationResolver(this.destinationResolver); factory.setActivationSpecFactory(new StubJmsActivationSpecFactory()); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setMessageListener(new MessageListenerAdapter()); this.thrown.expect(IllegalStateException.class); factory.createListenerContainer(endpoint); }
@Test public void endpointConcurrencyTakesPrecedence() { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConcurrency("2-10"); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); endpoint.setDestination("myQueue"); endpoint.setConcurrency("4-6"); DefaultMessageListenerContainer container = factory.createListenerContainer(endpoint); assertEquals(4, container.getConcurrentConsumers()); assertEquals(6, container.getMaxConcurrentConsumers()); }
@Test public void createSimpleContainer() { SimpleJmsListenerContainerFactory factory = new SimpleJmsListenerContainerFactory(); setDefaultJmsConfig(factory); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); endpoint.setDestination("myQueue"); SimpleMessageListenerContainer container = factory.createListenerContainer(endpoint); assertDefaultJmsConfig(container); assertEquals(messageListener, container.getMessageListener()); assertEquals("myQueue", container.getDestinationName()); }
@Test public void backOffOverridesRecoveryInterval() { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); BackOff backOff = new FixedBackOff(); factory.setBackOff(backOff); factory.setRecoveryInterval(2000L); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); endpoint.setDestination("myQueue"); DefaultMessageListenerContainer container = factory.createListenerContainer(endpoint); assertSame(backOff, new DirectFieldAccessor(container).getPropertyValue("backOff")); }
@Test public void createJcaContainerFullConfig() { DefaultJcaListenerContainerFactory factory = new DefaultJcaListenerContainerFactory(); setDefaultJcaConfig(factory); factory.setConcurrency("10"); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); endpoint.setDestination("myQueue"); JmsMessageEndpointManager container = factory.createListenerContainer(endpoint); assertDefaultJcaConfig(container); assertEquals(10, container.getActivationSpecConfig().getMaxConcurrency()); assertEquals(messageListener, container.getMessageListener()); assertEquals("myQueue", container.getActivationSpecConfig().getDestinationName()); }
@Test public void setupJmsMessageContainerFullConfig() { DefaultMessageListenerContainer container = new DefaultMessageListenerContainer(); MessageListener messageListener = new MessageListenerAdapter(); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); endpoint.setDestination("myQueue"); endpoint.setSelector("foo = 'bar'"); endpoint.setSubscription("mySubscription"); endpoint.setConcurrency("5-10"); endpoint.setMessageListener(messageListener); endpoint.setupListenerContainer(container); assertEquals("myQueue", container.getDestinationName()); assertEquals("foo = 'bar'", container.getMessageSelector()); assertEquals("mySubscription", container.getSubscriptionName()); assertEquals(5, container.getConcurrentConsumers()); assertEquals(10, container.getMaxConcurrentConsumers()); assertEquals(messageListener, container.getMessageListener()); }