/* * Copyright (c) 2015. Bearchoke */ package com.bearchoke.platform.persistence.rabbitmq.config; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; import javax.inject.Inject; /** * Created by Bjorn Harvold * Date: 8/18/14 * Time: 5:13 PM * Responsibility: */ @Configuration @Profile("local") @PropertySource(value = "classpath:rabbit-local.properties") public class RabbitMQLocalConfig { @Inject private Environment environment; /** * Bean is our direct connection to RabbitMQ * @return CachingConnectionFactory */ @Bean(destroyMethod = "destroy") public ConnectionFactory rabbitConnectionFactory() { CachingConnectionFactory factory = new CachingConnectionFactory( environment.getProperty("rabbitmq.host"), environment.getProperty("rabbitmq.port", Integer.class) ); factory.setUsername(environment.getProperty("rabbitmq.username")); factory.setPassword(environment.getProperty("rabbitmq.password")); return factory; } }