From 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712 Mon Sep 17 00:00:00 2001
From: nishiwei <13126973358@163.com>
Date: Fri, 23 Oct 2026 14:09:47 +0800
Subject: [PATCH] 智云3.0机场1适配内容提交

---
 ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java b/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
index 6842b2c..97d9d06 100644
--- a/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
+++ b/ard-sample/src/main/java/com/ard/sample/storage/service/impl/StorageServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.ard.common.config.OssConfiguration;
 import com.ard.oss.model.CredentialsDTO;
+import com.ard.sample.common.error.CommonErrorEnum;
 import com.ard.sample.component.mqtt.model.*;
 import com.ard.sample.component.mqtt.service.IMessageSenderService;
 import com.ard.oss.model.StsCredentialsDTO;
@@ -77,10 +78,20 @@
     @ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_STORAGE_CONFIG_GET, outputChannel = ChannelName.OUTBOUND)
     public void replyConfigGet(CommonTopicReceiver receiver, MessageHeaders headers) {
         // 20251219 这里是获取上传临时凭证的接口,稍候分析下是否满足条件,如果可以的话就直接回复临时凭证即可
+        RequestsReply reply;
+        try {
+            reply = RequestsReply.success(this.getSTSCredentials());
+        } catch (Exception e) {
+            // 机场1 上送 storage_config_get 时,若 MinIO STS 不可用,原实现会直接抛异常且不回复,
+            // 机场会每 5 秒重试一次并持续刷 error.log。这里回一个明确的失败应答,避免消息处理中断。
+            // 底层 MinIOServiceImpl 已打印完整堆栈,此处仅记录关键信息。
+            log.error("获取媒体上传临时凭证失败,gateway={},原因:{}", receiver.getGateway(), e.getMessage());
+            reply = RequestsReply.error(CommonErrorEnum.SYSTEM_ERROR);
+        }
         CommonTopicResponse<RequestsReply> response = CommonTopicResponse.<RequestsReply>builder()
                 .tid(receiver.getTid())
                 .bid(receiver.getBid())
-                .data(RequestsReply.success(this.getSTSCredentials()))
+                .data(reply)
                 .timestamp(System.currentTimeMillis())
                 .method(RequestsMethodEnum.STORAGE_CONFIG_GET.getMethod())
                 .build();

--
Gitblit v1.9.3