Я работаю над приложением весенней загрузки, в котором учетные данные кролика считываются из внешнего источника.Мне нужно завершить приложение, когда возникает проблема с чтением учетных данных из этого источника.1. У меня есть слушатель кролика 2. Процессор 3. И издатель с руководством Ack.
**
Проблема
** При возникновении ошибкиЯ звоню ConfigurableApplicationContext.close ().Но мой шаблон кролика все еще создается и пытается подключиться к кролику mq.
Пробные решения
- Я пытался использовать это в своем приложении @EnableAutoConfiguration (exclude = RabbitAutoConfiguration.class)
- spring.autoconfigure.exclude = true
- spring.rabbitmq.listener.simple.auto-startup = false У меня нет ни одной из вышеуказанных опций.Как выйти из приложения Прервать из точки сбоя.
Мой код выглядит следующим образом
@Configuration
public class RabbitMqConfig {
@PostConstruct
public void getAIMCredentails() {
loadAimSecretsForRabbitConfig();
}
public void loadAimSecretsForRabbitConfig(ConfigurableApplicationContext ctx){
// on error
cntx.close();
}
}
@Configuration
public class TopicConfiguration {
@Bean
public CachingConnectionFactory cachingConnectionFactory() {
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory();
cachingConnectionFactory.setAddresses(rabbitMqConfig.getPublisherAddresses());
cachingConnectionFactory.setUsername(rabbitMqConfig.getPublisherUsername());
cachingConnectionFactory.setPassword(rabbitMqConfig.getPublisherPassword());
cachingConnectionFactory.setVirtualHost(rabbitMqConfig.getVhost());
cachingConnectionFactory.createConnection();
cachingConnectionFactory.setPublisherReturns(true);
cachingConnectionFactory.setPublisherConfirms(true);
cachingConnectionFactory.setConnectionNameStrategy(f -> "publisherConnection");
return cachingConnectionFactory;
}
/**
* Bean RabbitTemplate
* @return RabbitTemplate
*/
@Bean
public RabbitTemplate template(
@Qualifier("cachingConnectionFactory") CachingConnectionFactory cachingConnectionFactory) {
// some code Here
return rabbitTemplate;
}
/**
* Bean Jackson2JsonMessageConverter
* @return Jackson2JsonMessageConverter
*/
@Bean
public Jackson2JsonMessageConverter producerJackson2MessageConverter() {
return new Jackson2JsonMessageConverter();
}
}
Edit1:
Я использую spring-rabbit-2.1.5.RELEASE и spring-starter-amqp-2.1.4.RELEASE Шаблон Rabbit вызывается так:
@Component
public class EPPQ2Subscriber {
private static final Logger LOGGER = LoggerFactory.getLogger(EPPQ2Subscriber.class);
//@RabbitListener(queues = "#{queue.getName()}") @TODO I wann to use this in later point in time.. !
@Autowired
RabbitMqConfig rabbitMqConfig;
@Autowired
AppConfig appConfig;
@Autowired
EPPQ2PublisherImpl eppQ2Publisher; //which intern calls the Topic config by auto-wiring
}
@Component
public class EPPQ2PublisherImpl implements EPPQ2Publisher{
@Autowired
RabbitMqConfig rabbitMqConfig;
@Autowired
private RabbitTemplate rabbitTemplate; // this is ref
private Channel channel;
}
Журналы: Произошла ошибка комментарий
2019-06-27 09: 46: 01,626 INFO scrubber.util.AIMPropertiesUtil [main] ---- Запустить createRequestProperties -----
2019-06-27 09: 46: 01,628 ИНФОРМАЦИЯ scrubber.util.AIMPropertiesUtil [main] ---- Конец createRequestProperties -----
2019-06-27 09: 46: 01,630 ИНФОРМАЦИЯ scrubber.service.AimSecretRequesterService [main] START requestContentвыполнит 3 попытки.
2019-06-27 09: 46: 02,688 ОШИБКА scrubber.service.AimSecretRequesterService [main] Системная ошибка secret.management.SecretRequestException Не удается получить секрет [Retrieve Secret Faile 2019-06-27 09:46:02,693 ОШИБКА scrubber.service.AimSecretRequesterService [main] Стек ошибок {}
secret.management.SecretRequestException: получить секретный сбой не удалось [Получить секретный сбой!]!
вызов функции cntx.close () // комментарий 2019-06-27 09: 46: 02,695 ОШИБКА scrubber.configuration.RabbitMqConfig [main] ****** -------------------------------------------------------- *****
2019-06-27 09: 46: 02,695 ОШИБКА scrubber.configuration.RabbitMqConfig [main] Невозможно получить идентификатор пользователя кролика, секретный из PPM
2019-06-27 09:46: 02,695 ОШИБКА scrubber.configuration.RabbitMqConfig [main] Прервать приложение.вызов ... shutdown Manger
2019-06-27 09: 46: 02,695 ОШИБКА scrubber.configuration.RabbitMqConfig [main] ****** -------------------------------------------------------- *****
Фабрика соединений шаблонов пытается подключиться комментарий 2019-06-27 09: 46: 02,837 ИНФОРМАЦИЯ org.springframework.amqp.rabbit.connection.AbstractConnectionFactory [main] Попытка подключения к: [NCBXMN.cb.domain.com: 5672, Anbasjk.cb.domain.com:5672]