Это мой первый вопрос здесь!Я пытаюсь использовать IBM MQ API (allclient) в моем приложении для весенней загрузки, однако у меня нет MQ, доступного во всех средах.Я сконфигурировал Spring для создания bean-компонента MQQueueManager, который прекрасно работает, когда у меня запущен настоящий администратор очередей, но когда у меня его нет, я не могу запустить свое приложение.Я хотел удалить зависимость MQQueueManager из моего приложения на случай, если у меня / других нет диспетчера очереди.
Чтобы добавить к этой проблеме, этот bean-компонент внедряется в другой bean-компонент, поэтому удаление класса конфигурации MQQueueManager все равно сломает мой другой bean-компонент.
Я попробовал приведенный ниже код, который я бы, хотя бы, загружал Mock bean вместо реального bean.
src / main / java / com / app / config
@Configuration
@Profile("development")
public class MqConfig {
@Bean
public MQQueueManager connectToQueue(){
//connection to real QMGR
}
}
src / test / java / com / app / config
@Configuration
@Profile("test")
public class MqConfig {
@Bean
public MQQueueManager connectToQueue(){
return Mockito.mock(MQQueueManager.class);
}
}
Spring не можетнайдите все компоненты MQQueueManager, чтобы приложение не запускалось.