package org.cloudfoundry.runtime.service.messaging;
import org.cloudfoundry.runtime.env.CloudEnvironment;
import org.cloudfoundry.runtime.env.RabbitServiceInfo;
import org.cloudfoundry.runtime.service.AbstractServiceCreator;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.connection.SingleConnectionFactory;
/**
* Simplified access to creating RabbitMQ service objects.
*
* @author Ramnivas Laddad
*
*/
public class RabbitServiceCreator
extends AbstractServiceCreator<ConnectionFactory, RabbitServiceInfo> {
public RabbitServiceCreator(CloudEnvironment cloudEnvironment) {
super(cloudEnvironment, RabbitServiceInfo.class);
}
public ConnectionFactory createService(RabbitServiceInfo serviceInfo) {
SingleConnectionFactory connectionFactory
= new SingleConnectionFactory(serviceInfo.getHost());
connectionFactory.setVirtualHost(serviceInfo.getVirtualHost());
connectionFactory.setUsername(serviceInfo.getUserName());
connectionFactory.setPassword(serviceInfo.getPassword());
connectionFactory.setPort(serviceInfo.getPort());
return connectionFactory;
}
}