123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- package cn.keking.config;
- import io.netty.channel.nio.NioEventLoopGroup;
- import org.apache.commons.lang3.StringUtils;
- import org.redisson.client.codec.Codec;
- import org.redisson.config.Config;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.util.ClassUtils;
- /**
- * Created by kl on 2017/09/26.
- * redisson 客户端配置
- */
- @ConditionalOnExpression("'${cache.type:default}'.equals('redis')")
- @ConfigurationProperties(prefix = "spring.redisson")
- @Configuration
- public class RedissonConfig {
- private String address;
- private int connectionMinimumIdleSize = 10;
- private int idleConnectionTimeout=10000;
- private int pingTimeout=1000;
- private int connectTimeout=10000;
- private int timeout=3000;
- private int retryAttempts=3;
- private int retryInterval=1500;
- private int reconnectionTimeout=3000;
- private int failedAttempts=3;
- private String password = null;
- private int subscriptionsPerConnection=5;
- private String clientName=null;
- private int subscriptionConnectionMinimumIdleSize = 1;
- private int subscriptionConnectionPoolSize = 50;
- private int connectionPoolSize = 64;
- private int database = 0;
- private boolean dnsMonitoring = false;
- private int dnsMonitoringInterval = 5000;
- private int thread; //当前处理核数量 * 2
- private String codec="org.redisson.codec.JsonJacksonCodec";
- @Bean
- Config config() throws Exception {
- Config config = new Config();
- config.useSingleServer().setAddress(address)
- .setConnectionMinimumIdleSize(connectionMinimumIdleSize)
- .setConnectionPoolSize(connectionPoolSize)
- .setDatabase(database)
- .setDnsMonitoring(dnsMonitoring)
- .setDnsMonitoringInterval(dnsMonitoringInterval)
- .setSubscriptionConnectionMinimumIdleSize(subscriptionConnectionMinimumIdleSize)
- .setSubscriptionConnectionPoolSize(subscriptionConnectionPoolSize)
- .setSubscriptionsPerConnection(subscriptionsPerConnection)
- .setClientName(clientName)
- .setFailedAttempts(failedAttempts)
- .setRetryAttempts(retryAttempts)
- .setRetryInterval(retryInterval)
- .setReconnectionTimeout(reconnectionTimeout)
- .setTimeout(timeout)
- .setConnectTimeout(connectTimeout)
- .setIdleConnectionTimeout(idleConnectionTimeout)
- .setPingTimeout(pingTimeout)
- .setPassword(StringUtils.trimToNull(password));
- Codec codec=(Codec) ClassUtils.forName(getCodec(), ClassUtils.getDefaultClassLoader()).newInstance();
- config.setCodec(codec);
- config.setThreads(thread);
- config.setEventLoopGroup(new NioEventLoopGroup());
- config.setUseLinuxNativeEpoll(false);
- return config;
- }
- public int getThread() {
- return thread;
- }
- public void setThread(int thread) {
- this.thread = thread;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- public int getIdleConnectionTimeout() {
- return idleConnectionTimeout;
- }
- public void setIdleConnectionTimeout(int idleConnectionTimeout) {
- this.idleConnectionTimeout = idleConnectionTimeout;
- }
- public int getPingTimeout() {
- return pingTimeout;
- }
- public void setPingTimeout(int pingTimeout) {
- this.pingTimeout = pingTimeout;
- }
- public int getConnectTimeout() {
- return connectTimeout;
- }
- public void setConnectTimeout(int connectTimeout) {
- this.connectTimeout = connectTimeout;
- }
- public int getTimeout() {
- return timeout;
- }
- public void setTimeout(int timeout) {
- this.timeout = timeout;
- }
- public int getRetryAttempts() {
- return retryAttempts;
- }
- public void setRetryAttempts(int retryAttempts) {
- this.retryAttempts = retryAttempts;
- }
- public int getRetryInterval() {
- return retryInterval;
- }
- public void setRetryInterval(int retryInterval) {
- this.retryInterval = retryInterval;
- }
- public int getReconnectionTimeout() {
- return reconnectionTimeout;
- }
- public void setReconnectionTimeout(int reconnectionTimeout) {
- this.reconnectionTimeout = reconnectionTimeout;
- }
- public int getFailedAttempts() {
- return failedAttempts;
- }
- public void setFailedAttempts(int failedAttempts) {
- this.failedAttempts = failedAttempts;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public int getSubscriptionsPerConnection() {
- return subscriptionsPerConnection;
- }
- public void setSubscriptionsPerConnection(int subscriptionsPerConnection) {
- this.subscriptionsPerConnection = subscriptionsPerConnection;
- }
- public String getClientName() {
- return clientName;
- }
- public void setClientName(String clientName) {
- this.clientName = clientName;
- }
- public int getSubscriptionConnectionMinimumIdleSize() {
- return subscriptionConnectionMinimumIdleSize;
- }
- public void setSubscriptionConnectionMinimumIdleSize(int subscriptionConnectionMinimumIdleSize) {
- this.subscriptionConnectionMinimumIdleSize = subscriptionConnectionMinimumIdleSize;
- }
- public int getSubscriptionConnectionPoolSize() {
- return subscriptionConnectionPoolSize;
- }
- public void setSubscriptionConnectionPoolSize(int subscriptionConnectionPoolSize) {
- this.subscriptionConnectionPoolSize = subscriptionConnectionPoolSize;
- }
- public int getConnectionMinimumIdleSize() {
- return connectionMinimumIdleSize;
- }
- public void setConnectionMinimumIdleSize(int connectionMinimumIdleSize) {
- this.connectionMinimumIdleSize = connectionMinimumIdleSize;
- }
- public int getConnectionPoolSize() {
- return connectionPoolSize;
- }
- public void setConnectionPoolSize(int connectionPoolSize) {
- this.connectionPoolSize = connectionPoolSize;
- }
- public int getDatabase() {
- return database;
- }
- public void setDatabase(int database) {
- this.database = database;
- }
- public boolean isDnsMonitoring() {
- return dnsMonitoring;
- }
- public void setDnsMonitoring(boolean dnsMonitoring) {
- this.dnsMonitoring = dnsMonitoring;
- }
- public int getDnsMonitoringInterval() {
- return dnsMonitoringInterval;
- }
- public void setDnsMonitoringInterval(int dnsMonitoringInterval) {
- this.dnsMonitoringInterval = dnsMonitoringInterval;
- }
- public String getCodec() {
- return codec;
- }
- public void setCodec(String codec) {
- this.codec = codec;
- }
- }
|