@Bean public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory, DefaultJmsListenerContainerFactoryConfigurer configurer) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); // This provides all boot's default to this factory, including the message converter configurer.configure(factory, connectionFactory); // You could still override some of Boot's default if necessary. return factory; }
@Bean(name = "queueListenerContainerFactory") @ConditionalOnProperty(prefix = "spring.activemq", name = "broker-url") public JmsListenerContainerFactory<?> jmsListenerContainerQueue(ConnectionFactory activeMQConnectionFactory) { DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); bean.setConnectionFactory(activeMQConnectionFactory); bean.setPubSubDomain(Boolean.FALSE); return bean; }
@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 messageConverterUsedIfSet() throws JMSException { this.containerFactory.setMessageConverter(new UpperCaseMessageConverter()); testMessageConverterIsUsed(); }
@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")); }
/** * Gets a JMS listener container factory that can return a JMS listener container. * * @param jmsConnectionFactory the JMS connection factory * * @return the JMS listener container factory */ @Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(ConnectionFactory jmsConnectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(jmsConnectionFactory); factory.setDestinationResolver(herdDestinationResolver); factory.setConcurrency(configurationHelper.getProperty(ConfigurationValue.JMS_LISTENER_POOL_CONCURRENCY_LIMITS)); return factory; }
public JmsListenerContainerFactory<?> jmsListenerAContainerQueue() { DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory(); bean.setConnectionFactory(this.pooledConnectionFactory); bean.setConcurrency("3-10"); return bean; }
@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 jmsListenerContainerFactory() { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory()); factory.setMessageConverter(jmsMessageConverter()); return factory; }
@Bean("topicFactory") public DefaultJmsListenerContainerFactory topicFactory( DefaultJmsListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); configurer.configure(factory, connectionFactory); factory.setPubSubDomain(true); return factory; }
@Bean public DefaultJmsListenerContainerFactory durableTopicJmsListenerContainerFactory(ConnectionFactory connectionFactory, PlatformTransactionManager transactionManager) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setTransactionManager(transactionManager); factory.setConnectionFactory(connectionFactory); factory.setAutoStartup(true); factory.setPubSubDomain(true); factory.setSessionTransacted(true); factory.setSubscriptionDurable(true); return factory; }
@Bean public JmsListenerContainerFactory<?> jmsListenerContainerFactory(ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setMessageConverter(jacksonJmsMessageConverter()); factory.setPubSubDomain(false); return factory; }
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(@Value("${spring.jms.listener.concurrency}") String concurrency, @Value("${spring.jms.listener.auto-startup}") boolean autoStart, ConnectionFactory connectionFactory, NotificationServiceErrorHandler errorHandler) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setSessionAcknowledgeMode(Session.CLIENT_ACKNOWLEDGE); factory.setErrorHandler(errorHandler); factory.setConcurrency(concurrency); factory.setConnectionFactory(connectionFactory); factory.setAutoStartup(autoStart); return factory; }
@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, SomeHandler errorHandler) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setErrorHandler(errorHandler); return factory; }
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory() { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory()); return factory; }
/** * Gets a JMS listener container factory that can return a JMS listener container. * * @param jmsConnectionFactory the JMS connection factory * * @return the JMS listener container factory */ @Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory(ConnectionFactory jmsConnectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(jmsConnectionFactory); factory.setDestinationResolver(herdDestinationResolver); factory.setConcurrency(configurationHelper.getProperty(ConfigurationValue.JMS_LISTENER_POOL_CONCURRENCY_LIMITS)); return factory; }
private DefaultJmsListenerContainerFactory createContainerFactory (int aConcurrency) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConcurrency(String.valueOf(aConcurrency)); factory.setConnectionFactory(connectionFactory); 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; }
@Bean public DefaultJmsListenerContainerFactory jmsListenerContainerFactory( ConnectionFactory connectionFactory) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setMessageConverter(yourMessageConverter()); // .. other settings return factory; }