if (minioClient == null) { minioClient = new MinioClient(endpoint, port, accessKey, secretKey, false); }
if (minioClient == null) { minioClient = new MinioClient(endpoint, port, accessKey, secretKey, false); }
|
zm8m93Q1e5otOC69Jun 21, 2021
1
注册个 bean 托管好一些吧,没用过,猜测滴。。
https://blog.csdn.net/qq_33842795/article/details/115912970 |
|
anonydmerJun 21, 2021
2
能不能复用取决于它本身是不是线程安全。 不过通常来讲这种 XXClient 一般都是
|
|
OktfolioJun 21, 2021
3
bean
|
|
VegetableJun 21, 2021
5
|
|
6
@beichenhpy 我看网上的都是注册个 bean 的这种
|
|
X0rayJun 21, 2021
7
不用,可以做一个单例全局使用。上面提到的 bean 不就是默认 singleton 的嘛
|
|
jingsluntJun 21, 2021
8
终于有人开始讨论 minio 了
PS:minio 最近被集成进 harbor operator |
|
qwerthhusnJun 21, 2021
9
不需要,而且不推荐。
这个 SDK 跟很多类似 AWS,阿里云的 SDK 一样,其实就是 HttpClient 套一层。(就是说你可以完全用原生的 HttpClient 做出完整的 Minio 请求,只不过会非常复杂。。尤其是阿里云系的,不用 SDK 很难自己能构造出正确的请求,老是签名错误,而且文档上的说的含糊不清) HttpClient 是带连接复用的,针对 HTTP1.1 还带连接池的。你每次 new 一个 Client 去操作效率非常低,每次都要重建一个新的连接。 |
|
anonydmerJun 21, 2021
10
@HDMItoDP OKHttpClient 内部已经复用连接池了,哪怕是多个 OKHttpClient 实例;所以即使 new 了多个 MinioClient 仍然会享受 OKHttpClient 连接池的福利。 不过正如 @qwerthhusn 兄弟说的不需要也不推荐
|
|
liian2019Jun 21, 2021
11
复用,java 里面都是交给 spring 托管
|
|
12
@qwerthhusn 好的
|