if (minioClient == null) { minioClient = new MinioClient(endpoint, port, accessKey, secretKey, false); }

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