Polish contribution

Closes gh-5303
pull/5102/merge
Stephane Nicoll 9 years ago
parent c0cb813a01
commit d04155fcae

@ -139,17 +139,17 @@ public class RabbitAutoConfiguration {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory( CachingConnectionFactory connectionFactory = new CachingConnectionFactory(
factory.getObject()); factory.getObject());
connectionFactory.setAddresses(config.getAddresses()); connectionFactory.setAddresses(config.getAddresses());
if (config.getChannelCacheSize() != null) { if (config.getCache().getChannel().getSize() != null) {
connectionFactory.setChannelCacheSize(config.getChannelCacheSize()); connectionFactory.setChannelCacheSize(config.getCache().getChannel().getSize());
} }
if (config.getCacheMode() != null) { if (config.getCache().getConnection().getMode() != null) {
connectionFactory.setCacheMode(config.getCacheMode()); connectionFactory.setCacheMode(config.getCache().getConnection().getMode());
} }
if (config.getConnectionCacheSize() != null) { if (config.getCache().getConnection().getSize() != null) {
connectionFactory.setConnectionCacheSize(config.getConnectionCacheSize()); connectionFactory.setConnectionCacheSize(config.getCache().getConnection().getSize());
} }
if (config.getChannelCheckoutTimeout() != null) { if (config.getCache().getChannel().getCheckoutTimeout() != null) {
connectionFactory.setChannelCheckoutTimeout(config.getChannelCheckoutTimeout()); connectionFactory.setChannelCheckoutTimeout(config.getCache().getChannel().getCheckoutTimeout());
} }
return connectionFactory; return connectionFactory;
} }

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2015 the original author or authors. * Copyright 2012-2016 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -78,26 +78,9 @@ public class RabbitProperties {
private Integer requestedHeartbeat; private Integer requestedHeartbeat;
/** /**
* The number of channels to retain in the cache, or max channels per connection * Cache configuration.
* when channelCheckoutTimeout is > 0.
*/ */
private Integer channelCacheSize; private final Cache cache = new Cache();
/**
* The connection factory cache mode; CHANNEL (default) or CONNECTION.
*/
private CacheMode cacheMode;
/**
* The number of connections to cache (only applies when cacheMode is CONNECTION).
*/
private Integer connectionCacheSize;
/**
* The number of milliseconds to wait to obtain a channel if the channelCacheSize
* has been reached; if 0, always create a new channel.
*/
private Long channelCheckoutTimeout;
/** /**
* Listener container configuration. * Listener container configuration.
@ -210,36 +193,8 @@ public class RabbitProperties {
this.requestedHeartbeat = requestedHeartbeat; this.requestedHeartbeat = requestedHeartbeat;
} }
public Integer getChannelCacheSize() { public Cache getCache() {
return this.channelCacheSize; return this.cache;
}
public void setChannelCacheSize(Integer channelCacheSize) {
this.channelCacheSize = channelCacheSize;
}
public CacheMode getCacheMode() {
return this.cacheMode;
}
public void setCacheMode(CacheMode cacheMode) {
this.cacheMode = cacheMode;
}
public Integer getConnectionCacheSize() {
return this.connectionCacheSize;
}
public void setConnectionCacheSize(Integer connectionCacheSize) {
this.connectionCacheSize = connectionCacheSize;
}
public Long getChannelCheckoutTimeout() {
return this.channelCheckoutTimeout;
}
public void setChannelCheckoutTimeout(Long channelCheckoutTimeout) {
this.channelCheckoutTimeout = channelCheckoutTimeout;
} }
public Listener getListener() { public Listener getListener() {
@ -315,6 +270,84 @@ public class RabbitProperties {
} }
public static class Cache {
private final Channel channel = new Channel();
private final Connection connection = new Connection();
public Channel getChannel() {
return this.channel;
}
public Connection getConnection() {
return this.connection;
}
public static class Channel {
/**
* Number of channels to retain in the cache. When "check-timeout" > 0, max
* channels per connection.
*/
private Integer size;
/**
* Number of milliseconds to wait to obtain a channel if the cache size
* has been reached. If 0, always create a new channel.
*/
private Long checkoutTimeout;
public Integer getSize() {
return this.size;
}
public void setSize(Integer size) {
this.size = size;
}
public Long getCheckoutTimeout() {
return this.checkoutTimeout;
}
public void setCheckoutTimeout(Long checkoutTimeout) {
this.checkoutTimeout = checkoutTimeout;
}
}
public static class Connection {
/**
* Connection factory cache mode.
*/
private CacheMode mode = CacheMode.CHANNEL;
/**
* Number of connections to cache. Only applies when mode is CONNECTION.
*/
private Integer size;
public CacheMode getMode() {
return this.mode;
}
public void setMode(CacheMode mode) {
this.mode = mode;
}
public Integer getSize() {
return this.size;
}
public void setSize(Integer size) {
this.size = size;
}
}
}
public static class Listener { public static class Listener {
/** /**

@ -154,10 +154,10 @@ public class RabbitAutoConfigurationTests {
@Test @Test
public void testConnectionFactoryCacheSettings() { public void testConnectionFactoryCacheSettings() {
load(TestConfiguration.class, load(TestConfiguration.class,
"spring.rabbitmq.channelCacheSize=23", "spring.rabbitmq.cache.channel.size=23",
"spring.rabbitmq.cacheMode=CONNECTION", "spring.rabbitmq.cache.channel.checkoutTimeout=1000",
"spring.rabbitmq.connectionCacheSize=2", "spring.rabbitmq.cache.connection.mode=CONNECTION",
"spring.rabbitmq.channelCheckoutTimeout=1000"); "spring.rabbitmq.cache.connection.size=2");
CachingConnectionFactory connectionFactory = this.context CachingConnectionFactory connectionFactory = this.context
.getBean(CachingConnectionFactory.class); .getBean(CachingConnectionFactory.class);
DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory); DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory);

@ -756,6 +756,10 @@ content into your application; rather pick only the properties that you need.
# RABBIT ({sc-spring-boot-autoconfigure}/amqp/RabbitProperties.{sc-ext}[RabbitProperties]) # RABBIT ({sc-spring-boot-autoconfigure}/amqp/RabbitProperties.{sc-ext}[RabbitProperties])
spring.rabbitmq.addresses= # Comma-separated list of addresses to which the client should connect. spring.rabbitmq.addresses= # Comma-separated list of addresses to which the client should connect.
spring.rabbitmq.cache.channel.checkout-timeout= # Number of milliseconds to wait to obtain a channel if the cache size has been reached.
spring.rabbitmq.cache.channel.size= # Number of channels to retain in the cache.
spring.rabbitmq.cache.connection.mode= # Connection factory cache mode.
spring.rabbitmq.cache.connection.size= # Number of connections to cache.
spring.rabbitmq.dynamic=true # Create an AmqpAdmin bean. spring.rabbitmq.dynamic=true # Create an AmqpAdmin bean.
spring.rabbitmq.host=localhost # RabbitMQ host. spring.rabbitmq.host=localhost # RabbitMQ host.
spring.rabbitmq.listener.acknowledge-mode= # Acknowledge mode of container. spring.rabbitmq.listener.acknowledge-mode= # Acknowledge mode of container.
@ -774,10 +778,6 @@ content into your application; rather pick only the properties that you need.
spring.rabbitmq.ssl.trust-store-password= # Password used to access the trust store. spring.rabbitmq.ssl.trust-store-password= # Password used to access the trust store.
spring.rabbitmq.username= # Login user to authenticate to the broker. spring.rabbitmq.username= # Login user to authenticate to the broker.
spring.rabbitmq.virtual-host= # Virtual host to use when connecting to the broker. spring.rabbitmq.virtual-host= # Virtual host to use when connecting to the broker.
spring.rabbitmq.cacheMode= # The connection factory cache mode; CHANNEL (default) or CONNECTION.
spring.rabbitmq.channelCacheSize= # The number of channels to retain in the cache, or max channels per connection when `channelCheckoutTimeout` is > 0.
spring.rabbitmq.connectionCacheSize= # The number of connections to cache (only applies when cacheMode is CONNECTION).
spring.rabbitmq.channelCheckoutTimeout= # The number of milliseconds to wait to obtain a channel if the channelCacheSize has been reached; if 0, always create a new channel.
# ---------------------------------------- # ----------------------------------------
# ACTUATOR PROPERTIES # ACTUATOR PROPERTIES

Loading…
Cancel
Save