@Test public void createJmsContainerFullConfig() { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); setDefaultJmsConfig(factory); factory.setCacheLevel(DefaultMessageListenerContainer.CACHE_CONSUMER); factory.setConcurrency("3-10"); factory.setMaxMessagesPerTask(5); SimpleJmsListenerEndpoint endpoint = new SimpleJmsListenerEndpoint(); MessageListener messageListener = new MessageListenerAdapter(); endpoint.setMessageListener(messageListener); endpoint.setDestination("myQueue"); DefaultMessageListenerContainer container = factory.createListenerContainer(endpoint); assertDefaultJmsConfig(container); assertEquals(DefaultMessageListenerContainer.CACHE_CONSUMER, container.getCacheLevel()); assertEquals(3, container.getConcurrentConsumers()); assertEquals(10, container.getMaxConcurrentConsumers()); assertEquals(5, container.getMaxMessagesPerTask()); assertEquals(messageListener, container.getMessageListener()); assertEquals("myQueue", container.getDestinationName()); }
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(ConnectionFactory connectionFactory, PlatformTransactionManager transactionManager) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setTransactionManager(transactionManager); factory.setConnectionFactory(connectionFactory); factory.setAutoStartup(true); factory.setSessionTransacted(true); factory.setCacheLevel(CACHE_CONSUMER); return factory; }
@Bean public DefaultJmsListenerContainerFactory topicJmsListenerContainerFactory(ConnectionFactory connectionFactory, PlatformTransactionManager transactionManager) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setTransactionManager(transactionManager); factory.setConnectionFactory(connectionFactory); factory.setAutoStartup(true); factory.setPubSubDomain(true); factory.setSessionTransacted(true); factory.setCacheLevel(CACHE_CONSUMER); return factory; }