All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.netease.nim.camellia.delayqueue.sdk.CamelliaDelayQueueSdkConfig Maven / Gradle / Ivy

The newest version!
package com.netease.nim.camellia.delayqueue.sdk;

import com.netease.nim.camellia.delayqueue.common.conf.CamelliaDelayQueueConstants;
import com.netease.nim.camellia.delayqueue.sdk.api.DelayQueueServerDiscovery;
import com.netease.nim.camellia.tools.executor.CamelliaThreadFactory;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;

/**
 * Created by caojiajun on 2022/7/7
 */
public class CamelliaDelayQueueSdkConfig {

    //discovery模式下,兜底的reload线程池
    private static final ScheduledExecutorService defaultScheduleThreadPool = Executors.newScheduledThreadPool(Runtime.getRuntime().availableProcessors(),
            new CamelliaThreadFactory("camellia-delay-queue-sdk-schedule", true));

    private String url;
    private DelayQueueServerDiscovery discovery;
    private ScheduledExecutorService scheduleThreadPool = defaultScheduleThreadPool;
    private CamelliaDelayMsgListenerConfig listenerConfig = new CamelliaDelayMsgListenerConfig();
    private CamelliaDelayMsgHttpConfig httpConfig = new CamelliaDelayMsgHttpConfig();

    private int discoveryReloadIntervalSeconds = CamelliaDelayQueueConstants.discoveryReloadIntervalSeconds;

    public static class CamelliaDelayMsgHttpConfig {
        private long connectTimeoutMillis = CamelliaDelayQueueConstants.connectTimeoutMillis;
        private long readTimeoutMillis = CamelliaDelayQueueConstants.readTimeoutMillis;
        private long writeTimeoutMillis = CamelliaDelayQueueConstants.writeTimeoutMillis;
        private int maxRequests = CamelliaDelayQueueConstants.maxRequests;
        private int maxRequestsPerHost = CamelliaDelayQueueConstants.maxRequestsPerHost;
        private int maxIdleConnections = CamelliaDelayQueueConstants.maxIdleConnections;
        private int keepAliveSeconds = CamelliaDelayQueueConstants.keepAliveSeconds;

        public long getConnectTimeoutMillis() {
            return connectTimeoutMillis;
        }

        public void setConnectTimeoutMillis(long connectTimeoutMillis) {
            this.connectTimeoutMillis = connectTimeoutMillis;
        }

        public long getReadTimeoutMillis() {
            return readTimeoutMillis;
        }

        public void setReadTimeoutMillis(long readTimeoutMillis) {
            this.readTimeoutMillis = readTimeoutMillis;
        }

        public long getWriteTimeoutMillis() {
            return writeTimeoutMillis;
        }

        public void setWriteTimeoutMillis(long writeTimeoutMillis) {
            this.writeTimeoutMillis = writeTimeoutMillis;
        }

        public int getMaxRequests() {
            return maxRequests;
        }

        public void setMaxRequests(int maxRequests) {
            this.maxRequests = maxRequests;
        }

        public int getMaxRequestsPerHost() {
            return maxRequestsPerHost;
        }

        public void setMaxRequestsPerHost(int maxRequestsPerHost) {
            this.maxRequestsPerHost = maxRequestsPerHost;
        }

        public int getMaxIdleConnections() {
            return maxIdleConnections;
        }

        public void setMaxIdleConnections(int maxIdleConnections) {
            this.maxIdleConnections = maxIdleConnections;
        }

        public int getKeepAliveSeconds() {
            return keepAliveSeconds;
        }

        public void setKeepAliveSeconds(int keepAliveSeconds) {
            this.keepAliveSeconds = keepAliveSeconds;
        }
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public DelayQueueServerDiscovery getDiscovery() {
        return discovery;
    }

    public void setDiscovery(DelayQueueServerDiscovery discovery) {
        this.discovery = discovery;
    }

    public ScheduledExecutorService getScheduleThreadPool() {
        return scheduleThreadPool;
    }

    public void setScheduleThreadPool(ScheduledExecutorService scheduleThreadPool) {
        this.scheduleThreadPool = scheduleThreadPool;
    }

    public CamelliaDelayMsgListenerConfig getListenerConfig() {
        return listenerConfig;
    }

    public void setListenerConfig(CamelliaDelayMsgListenerConfig listenerConfig) {
        this.listenerConfig = listenerConfig;
    }

    public CamelliaDelayMsgHttpConfig getHttpConfig() {
        return httpConfig;
    }

    public void setHttpConfig(CamelliaDelayMsgHttpConfig httpConfig) {
        this.httpConfig = httpConfig;
    }

    public int getDiscoveryReloadIntervalSeconds() {
        return discoveryReloadIntervalSeconds;
    }

    public void setDiscoveryReloadIntervalSeconds(int discoveryReloadIntervalSeconds) {
        this.discoveryReloadIntervalSeconds = discoveryReloadIntervalSeconds;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy