NebulaGraph Java Client  release-3.6
All Classes Functions Variables
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  // SSL param is required if ssl is turned on
45  private SSLParam sslParam = null;
46 
47  // Set if use http2 protocol
48  private boolean useHttp2 = false;
49 
50  // Set custom headers for http2
51  private Map<String,String> customHeaders = new HashMap<>();
52 
53  public boolean isEnableSsl() {
54  return enableSsl;
55  }
56 
57  public void setEnableSsl(boolean enableSsl) {
58  this.enableSsl = enableSsl;
59  }
60 
61  public SSLParam getSslParam() {
62  return sslParam;
63  }
64 
65  public void setSslParam(SSLParam sslParam) {
66  this.sslParam = sslParam;
67  }
68 
69  public int getMinConnSize() {
70  return minConnsSize;
71  }
72 
73  public NebulaPoolConfig setMinConnSize(int minConnSize) {
74  this.minConnsSize = minConnSize;
75  return this;
76  }
77 
78  public int getMaxConnSize() {
79  return maxConnsSize;
80  }
81 
82  public NebulaPoolConfig setMaxConnSize(int maxConnSize) {
83  this.maxConnsSize = maxConnSize;
84  return this;
85  }
86 
87  public int getTimeout() {
88  return timeout;
89  }
90 
91  public NebulaPoolConfig setTimeout(int timeout) {
92  this.timeout = timeout;
93  return this;
94  }
95 
96  public int getIdleTime() {
97  return idleTime;
98  }
99 
100  public NebulaPoolConfig setIdleTime(int idleTime) {
101  this.idleTime = idleTime;
102  return this;
103  }
104 
105  public int getIntervalIdle() {
106  return intervalIdle;
107  }
108 
109  public NebulaPoolConfig setIntervalIdle(int intervalIdle) {
110  this.intervalIdle = intervalIdle;
111  return this;
112  }
113 
114  public int getWaitTime() {
115  return waitTime;
116  }
117 
118  public NebulaPoolConfig setWaitTime(int waitTime) {
119  this.waitTime = waitTime;
120  return this;
121  }
122 
123  public double getMinClusterHealthRate() {
124  return minClusterHealthRate;
125  }
126 
127  public NebulaPoolConfig setMinClusterHealthRate(double minClusterHealthRate) {
128  this.minClusterHealthRate = minClusterHealthRate;
129  return this;
130  }
131 
132  public boolean isUseHttp2() {
133  return useHttp2;
134  }
135 
136  public NebulaPoolConfig setUseHttp2(boolean useHttp2) {
137  this.useHttp2 = useHttp2;
138  return this;
139  }
140 
141  public Map<String, String> getCustomHeaders() {
142  return customHeaders;
143  }
144 
145  public NebulaPoolConfig setCustomHeaders(Map<String, String> customHeaders) {
146  this.customHeaders = customHeaders;
147  return this;
148  }
149 }