use*_*483 14 spring spring-jms spring-boot
在我的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;
Run Code Online (Sandbox Code Playgroud)
我是否有机会随时关闭弹簧靴的JmsAutoconfiguration功能?如果没有,那么替代解决方案是什么?
dun*_*nni 21
您可以将要禁用的自动配置添加到SpringBootApplication批注:
@SpringBootApplication(exclude = JmsAutoConfiguration.class)
Run Code Online (Sandbox Code Playgroud)
Sam*_*til 10
如果想通过属性(在这种情况下是application.yml)控制它,那么你可以做这样的事情.
spring:
autoconfigure:
exclude: org.springframework.boot.autoconfigure.jms.JmsAutoConfiguration
Run Code Online (Sandbox Code Playgroud)
仅供参考,使用此功能可禁用ActiveMQ
@SpringBootApplication(exclude = ActiveMQAutoConfiguration.class)
Run Code Online (Sandbox Code Playgroud)
就我而言,它在排除这两个类后起作用:
@EnableAutoConfiguration(exclude={JmsAutoConfiguration.class, ActiveMQAutoConfiguration.class})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12478 次 |
| 最近记录: |