AMQP-677: RabbitConnectionFactory and 4.0 client

JIRA: https://jira.spring.io/browse/AMQP-677

Add setter for NIO flag, NioParams, and MetricsCollector.

Polish
This commit is contained in:
Arnaud Cogoluègnes
2016-11-28 10:46:41 +01:00
committed by Gary Russell
parent eb6fff6437
commit bd4397a015

View File

@@ -45,9 +45,10 @@ import org.springframework.util.StringUtils;
import com.rabbitmq.client.ConnectionFactory; import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.ExceptionHandler; import com.rabbitmq.client.ExceptionHandler;
import com.rabbitmq.client.MetricsCollector;
import com.rabbitmq.client.SaslConfig; import com.rabbitmq.client.SaslConfig;
import com.rabbitmq.client.SocketConfigurator; import com.rabbitmq.client.SocketConfigurator;
import com.rabbitmq.client.impl.nio.NioParams;
/** /**
* Factory bean to create a RabbitMQ ConnectionFactory, delegating most * Factory bean to create a RabbitMQ ConnectionFactory, delegating most
@@ -64,6 +65,7 @@ import com.rabbitmq.client.SocketConfigurator;
* *
* @author Gary Russell * @author Gary Russell
* @author Heath Abelson * @author Heath Abelson
* @author Arnaud Cogoluègnes
* *
* @since 1.4 * @since 1.4
*/ */
@@ -506,6 +508,36 @@ public class RabbitConnectionFactoryBean extends AbstractFactoryBean<ConnectionF
this.connectionFactory.setExceptionHandler(exceptionHandler); this.connectionFactory.setExceptionHandler(exceptionHandler);
} }
/**
* Whether or not the factory should be configured to use Java NIO.
* @param useNio true to use Java NIO, false to use blocking IO
* @see com.rabbitmq.client.ConnectionFactory#useNio()
*/
public void setUseNio(boolean useNio) {
if (useNio) {
this.connectionFactory.useNio();
}
else {
this.connectionFactory.useBlockingIo();
}
}
/**
* @param nioParams the NIO parameters
* @see com.rabbitmq.client.ConnectionFactory#setNioParams(com.rabbitmq.client.impl.nio.NioParams)
*/
public void setNioParams(NioParams nioParams) {
this.connectionFactory.setNioParams(nioParams);
}
/**
* @param metricsCollector the metrics collector instance
* @see com.rabbitmq.client.ConnectionFactory#setMetricsCollector(MetricsCollector)
*/
public void setMetricsCollector(MetricsCollector metricsCollector) {
this.connectionFactory.setMetricsCollector(metricsCollector);
}
@Override @Override
public Class<?> getObjectType() { public Class<?> getObjectType() {
return ConnectionFactory.class; return ConnectionFactory.class;