Skip to content

Commit ff16188

Browse files
committed
Update legacy start() implementation in MinIO storage from blocking to reactive
1 parent 04b385e commit ff16188

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

turms-plugins/turms-plugin-minio/src/main/java/im/turms/plugin/minio/MinioStorageServiceProvider.java

+19-16
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@
8585
import im.turms.server.common.infra.reactor.PublisherUtil;
8686
import im.turms.server.common.infra.security.MacUtil;
8787
import im.turms.server.common.infra.time.DateRange;
88-
import im.turms.server.common.infra.time.DurationConst;
8988
import im.turms.server.common.infra.tracing.TracingCloseableContext;
9089
import im.turms.server.common.infra.tracing.TracingContext;
9190
import im.turms.server.common.storage.mongo.TurmsMongoClient;
@@ -196,7 +195,15 @@ private Mono<Void> setUp() {
196195
.getStorage();
197196
Mono<TurmsMongoClient> clientMono =
198197
TurmsMongoClient.of(properties.getMongo(), "message-attachment");
199-
TurmsMongoClient mongoClient = clientMono.block(DurationConst.ONE_MINUTE);
198+
return clientMono.flatMap(
199+
mongoClient -> initClientAndBuckets(mongoClient, properties, uri, endpoint));
200+
}
201+
202+
private Mono<Void> initClientAndBuckets(
203+
TurmsMongoClient mongoClient,
204+
MinioStorageProperties properties,
205+
URI uri,
206+
String endpoint) {
200207
messageAttachmentRepository = new MessageAttachmentRepository(mongoClient);
201208
baseUrl = uri.getScheme()
202209
+ "://"
@@ -236,10 +243,16 @@ private Mono<Void> setUp() {
236243
} else {
237244
macKey = null;
238245
}
239-
initClient(endpoint,
240-
properties.getRegion(),
241-
properties.getAccessKey(),
242-
properties.getSecretKey());
246+
String region = properties.getRegion();
247+
String accessKey = properties.getAccessKey();
248+
String secretKey = properties.getSecretKey();
249+
MinioAsyncClient.Builder builder = MinioAsyncClient.builder()
250+
.endpoint(endpoint)
251+
.credentials(accessKey, secretKey);
252+
if (StringUtil.isNotBlank(region)) {
253+
builder.region(region);
254+
}
255+
client = new TurmsMinioAsyncClient(builder.build());
243256

244257
Mono<Void> initBuckets =
245258
initBuckets().timeout(Duration.ofSeconds(INIT_BUCKETS_TIMEOUT_SECONDS))
@@ -268,16 +281,6 @@ private Mono<Void> setUp() {
268281
})));
269282
}
270283

271-
private void initClient(String endpoint, String region, String accessKey, String secretKey) {
272-
MinioAsyncClient.Builder builder = MinioAsyncClient.builder()
273-
.endpoint(endpoint)
274-
.credentials(accessKey, secretKey);
275-
if (StringUtil.isNotBlank(region)) {
276-
builder.region(region);
277-
}
278-
client = new TurmsMinioAsyncClient(builder.build());
279-
}
280-
281284
// region bucket
282285
private Mono<Void> initBuckets() {
283286
StorageResourceType[] resourceTypes =

0 commit comments

Comments
 (0)