我希望我的Spring Boot应用程序能够启动,无论它是否可以连接到JMS。我有这个最小的例子:
@SpringBootApplication@EnableJms公共类JmsActivemqFailoverApplication {
…
实现这一目标的一种方法是:
spring.jms.listener.auto-startup=false
应用程序启动后启动JMS容器:
@Component public class JmsStarter implements ApplicationRunner { private final JmsListenerEndpointRegistry jmsRegistry; public JmsStarter(JmsListenerEndpointRegistry jmsRegistry) { this.jmsRegistry = jmsRegistry; } @Override public void run(ApplicationArguments args) { for (MessageListenerContainer listenerContainer : jmsRegistry.getListenerContainers()) { listenerContainer.start(); } } }