其他分享
首页 > 其他分享> > 在Spring Boot Application中禁用Spring JMS Auto配置

在Spring Boot Application中禁用Spring JMS Auto配置

作者:互联网

在我的spring启动应用程序中,我配置了两个不同的MQQueueConnectionFactory实例(不同的id),因为它是应用程序的需要.为此,我添加了ibm客户端罐子.

我还在我的代码中添加了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;

我是否有机会随时关闭弹簧靴的JmsAutoconfiguration功能?如果没有,那么替代解决方案是什么?

解决方法:

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

@SpringBootApplication(exclude = JmsAutoConfiguration.class)

标签:spring,spring-boot,spring-jms
来源: https://codeday.me/bug/20191007/1868920.html