Mercurial > hg > SpringPlayground
view spring-jms-playground/src/main/java/de/comline/jms/application/Application.java @ 18:8504317b9a09
Erweiterung um Sleuth, manuelle Konfiguration von Spring
author | Dirk Olmes <dirk.olmes@codedo.de> |
---|---|
date | Thu, 17 Sep 2020 09:03:11 +0200 |
parents | 4217059d40e8 |
children |
line wrap: on
line source
package de.comline.jms.application; import javax.jms.ConnectionFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer; import org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration; import org.springframework.boot.autoconfigure.jms.activemq.ActiveMQAutoConfiguration; import org.springframework.cloud.sleuth.autoconfig.TraceAutoConfiguration; import org.springframework.cloud.sleuth.instrument.messaging.ExposedSleuthJmsConfiguration; import org.springframework.cloud.sleuth.instrument.messaging.TraceMessagingAutoConfiguration; import org.springframework.cloud.sleuth.instrument.messaging.TraceSpringIntegrationAutoConfiguration; import org.springframework.cloud.sleuth.log.SleuthLogAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.jms.config.DefaultJmsListenerContainerFactory; import org.springframework.jms.config.JmsListenerContainerFactory; import de.comline.jms.application.Application.AppConfig; import de.comline.jms.receiver.QueueReceiver; @Import(AppConfig.class) public class Application { private static final Logger LOG = LoggerFactory.getLogger(Application.class); public static final String AMQ_FACTORY_BEAN = "amqFactory"; public static void main(String[] args) { SpringApplication.run(Application.class, args); } // @formatter:off // @EnableAutoConfiguration // @Import(QueueReceiver.class) @Configuration @Import({ SleuthLogAutoConfiguration.class, TraceAutoConfiguration.class, TraceMessagingAutoConfiguration.class, ExposedSleuthJmsConfiguration.class, TraceSpringIntegrationAutoConfiguration.class, ActiveMQAutoConfiguration.class, JmsAutoConfiguration.class, QueueReceiver.class }) // @formatter:on public static class AppConfig { @Bean(name = AMQ_FACTORY_BEAN) public JmsListenerContainerFactory<?> configureJmsListenerFactory(ConnectionFactory connectionFactory, DefaultJmsListenerContainerFactoryConfigurer configurer) { DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); factory.setErrorHandler(exception -> { LOG.error("An error has occurred in JMS", exception); }); configurer.configure(factory, connectionFactory); return factory; } } }