小编典典

在Spring Boot应用程序中禁用Spring JMS Auto配置

spring-boot

在我的Spring
Boot应用程序中,我配置了MQQueueConnectionFactory的两个不同实例(不同的ID),因为这是应用程序的需要。为此,我添加了ibm客户端jar。

我还在代码中添加了spring-
jms依赖项,因为我想要JmsTemplate等类。添加此依赖性后,JmsAutoConfiguration在类路径中找到JmsTemplate并尝试配置Bean。在此过程中,它将尝试注入ConnectionFactory类型的bean,这是代码失败的地方,并且我开始收到错误消息。下面是来自JmsAutoConfiguration的代码

@Configuration
@ConditionalOnClass(JmsTemplate.class)
@ConditionalOnBean(ConnectionFactory.class)
@EnableConfigurationProperties(JmsProperties.class)
@Import(JmsAnnotationDrivenConfiguration.class)
public class JmsAutoConfiguration {

    @Autowired
    private JmsProperties properties;

    @Autowired
    private ConnectionFactory connectionFactory;

    @Autowired(required = false)
    private DestinationResolver destinationResolver;

我是否有机会关闭Spring Boot的JmsAutoconfiguration功能?如果不是,那么对此的替代解决方案是什么?


阅读 822

收藏
2020-05-30

共1个答案

小编典典

您可以将要禁用的自动配置添加到SpringBootApplication批注中:

@SpringBootApplication(exclude = JmsAutoConfiguration.class)
2020-05-30