NebulaGraph Java Client  release-3.8
NebulaPoolConfig.java
1 /* Copyright (c) 2020 vesoft inc. All rights reserved.
2  *
3  * This source code is licensed under Apache 2.0 License.
4  */
5 
6 package com.vesoft.nebula.client.graph;
7 
8 import com.vesoft.nebula.client.graph.data.SSLParam;
9 import java.io.Serializable;
10 import java.util.HashMap;
11 import java.util.Map;
12 
13 public class NebulaPoolConfig implements Serializable {
14 
15  private static final long serialVersionUID = 3977910115039279651L;
16 
17  // The min connections in pool for all addresses
18  private int minConnsSize = 0;
19 
20  // The max connections in pool for all addresses
21  private int maxConnsSize = 10;
22 
23  // Socket timeout and Socket connection timeout, unit: millisecond
24  private int timeout = 0;
25 
26  // The idleTime of the connection, unit: millisecond
27  // The connection's idle time more than idleTime, it will be delete
28  // 0 means never delete
29  private int idleTime = 0;
30 
31  // The interval time to check idle connection, unit ms, -1 means no check
32  private int intervalIdle = -1;
33 
34  // The wait time to get idle connection, unit ms
35  private int waitTime = 0;
36 
37  // The minimum rate of healthy servers to all servers. if 1 it means all servers should be
38  // available on init.
39  private double minClusterHealthRate = 1;
40 
41  // Set to true to turn on ssl encrypted traffic
42  private boolean enableSsl = false;
43 
44  // if enableSsl is true but SSL param is not config,
45  // then client will not verify the server certificate. Encrypted transmission only.
46  private SSLParam sslParam = null;
47 
48  // Set if use http2 protocol
49  private boolean useHttp2 = false;
50 
51  // Set custom headers for http2
52  private Map<String,String> customHeaders = new HashMap<>();
53 
54  public boolean isEnableSsl() {
55  return enableSsl;
56  }
57 
58  public void setEnableSsl(boolean enableSsl) {
59  this.enableSsl = enableSsl;
60  }
61 
62  public SSLParam getSslParam() {
63  return sslParam;
64  }
65 
66  public void setSslParam(SSLParam sslParam) {
67  this.sslParam = sslParam;
68  }
69 
70  public int getMinConnSize() {
71  return minConnsSize;
72  }
73 
74  public NebulaPoolConfig setMinConnSize(int minConnSize) {
75  this.minConnsSize = minConnSize;
76  return this;
77  }
78 
79  public int getMaxConnSize() {
80  return maxConnsSize;
81  }
82 
83  public NebulaPoolConfig setMaxConnSize(int maxConnSize) {
84  this.maxConnsSize = maxConnSize;
85  return this;
86  }
87 
88  public int getTimeout() {
89  return timeout;
90  }
91 
92  public NebulaPoolConfig setTimeout(int timeout) {
93  this.timeout = timeout;
94  return this;
95  }
96 
97  public int getIdleTime() {
98  return idleTime;
99  }
100 
101  public NebulaPoolConfig setIdleTime(int idleTime) {
102  this.idleTime = idleTime;
103  return this;
104  }
105 
106  public int getIntervalIdle() {
107  return intervalIdle;
108  }
109 
110  public NebulaPoolConfig setIntervalIdle(int intervalIdle) {
111  this.intervalIdle = intervalIdle;
112  return this;
113  }
114 
115  public int getWaitTime() {
116  return waitTime;
117  }
118 
119  public NebulaPoolConfig setWaitTime(int waitTime) {
120  this.waitTime = waitTime;
121  return this;
122  }
123 
124  public double getMinClusterHealthRate() {
125  return minClusterHealthRate;
126  }
127 
128  public NebulaPoolConfig setMinClusterHealthRate(double minClusterHealthRate) {
129  this.minClusterHealthRate = minClusterHealthRate;
130  return this;
131  }
132 
133  public boolean isUseHttp2() {
134  return useHttp2;
135  }
136 
137  public NebulaPoolConfig setUseHttp2(boolean useHttp2) {
138  this.useHttp2 = useHttp2;
139  return this;
140  }
141 
142  public Map<String, String> getCustomHeaders() {
143  return customHeaders;
144  }
145 
146  public NebulaPoolConfig setCustomHeaders(Map<String, String> customHeaders) {
147  this.customHeaders = customHeaders;
148  return this;
149  }
150 }