- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Spring Boot 应用程序,它使用 IBM Spring Boot 启动器连接到 IBM MessageQueue 服务:
com.ibm.mq:mq-jms-spring-boot-starter:2.1.2
我有一个监听队列的组件类,它具有以下注释来启用/禁用与队列的连接:
@ConditionalOnProperty(name = "queue.enabled", havingValue = "true")
我的 application.properties 中还有以下属性:
queue.enabled=false
当我连接到 ActiveMQ 时,此注释用于禁用队列连接,但是在更改代码库以连接到 IBM MQ 后,该连接似乎不受 ConditionalOnProperty 的影响,并且始终尝试连接。
有没有办法在服务器启动时启用/禁用与 IBM MQ 服务的连接?
最佳答案
mq-jms-spring-boot-starter 依赖项中存在的 MQAutoConfiguration 类是导致尝试队列连接的原因。
您有两个选项可以解决此问题,一个选项要求您设置特定属性,另一个选项允许您定义要用于启用或禁用队列连接的属性。
选项 1
在您的 application.properties 文件中设置值 spring.jta.enabled = false
。(如果您在应用程序中使用事务,这可能不是首选选项。)
查看 MQAutoConfiguration 类,您可以看到它以属性 spring.jta.enabled
为条件。在 application.properties 文件中将该属性设置为 false 将阻止注册 MQAutoConfiguration 类,这意味着不会注册任何 MQ bean,因此不会尝试连接到队列。
选项 2(如果您不想禁用 JTA)
创建包com.ibm.mq.spring.boot
并在其中创建MQAutoConfiguration类的副本。将 @ConditionalOnProperty
注释修改为您选择的属性。
关于java - 是否可以阻止 Spring Boot 应用程序尝试连接到 IBM MQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57427596/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!