/*
* Copyright (c) 2015. Bearchoke
*/
package com.bearchoke.platform.persistence.rabbitmq.config;
import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.cloud.config.java.AbstractCloudConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.context.annotation.PropertySource;
@Configuration
@Profile("cloud")
@PropertySource(value = "classpath:rabbit-cloud.properties")
@Log4j2
public class RabbitMQCloudConfig extends AbstractCloudConfig {
@Bean
public ConnectionFactory rabbitConnectionFactory() {
if (log.isInfoEnabled()) {
log.info("Attempting to retrieve RabbitMQ instance from Cloud Foundry...");
}
ConnectionFactory factory = connectionFactory().rabbitConnectionFactory();
if (factory != null) {
if (log.isInfoEnabled()) {
log.info("Retrieved RabbitMQ service successfully: " + factory.toString());
}
} else {
if (log.isErrorEnabled()) {
log.error("Could not find RabbitMQ service");
}
}
return factory;
}
}