fix: 修复 Coze 工作流调用 SocketTimeoutException

CozeAPI.Builder 默认超时仅 5 秒,导致营养分析等耗时工作流请求超时。
将 YAML 中已配置的 connect-timeout(30s) 和 read-timeout(60s) 正确传入 CozeAPI 客户端。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
panchengyong
2026-03-09 14:02:47 +08:00
parent 3ba0601242
commit 379a5c1bd6
2 changed files with 22 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ import com.zbkj.common.request.coze.CozeListMessageRequest;
import com.zbkj.common.request.coze.CozeRetrieveChatRequest;
import com.zbkj.common.request.coze.CozeWorkflowRequest;
import com.zbkj.common.request.coze.CozeWorkflowResumeRequest;
import com.zbkj.common.config.CozeConfig;
import com.zbkj.common.response.CozeBaseResponse;
import com.zbkj.common.utils.SseEmitterUtil;
import com.zbkj.service.service.tool.ToolCozeService;
@@ -55,6 +56,9 @@ public class ToolCozeServiceImpl implements ToolCozeService {
@Autowired(required = false)
private JWTOAuthClient jwtOAuthClient;
@Autowired
private CozeConfig cozeConfig;
@Value("${coze.api.base-url:https://api.coze.cn}")
private String baseUrl;
@@ -74,6 +78,8 @@ public class ToolCozeServiceImpl implements ToolCozeService {
return new CozeAPI.Builder()
.baseURL(baseUrl)
.auth(new TokenAuth(accessToken))
.connectTimeout(cozeConfig.getConnectTimeout())
.readTimeout(cozeConfig.getReadTimeout())
.build();
}
throw new RuntimeException("Coze API not configured properly. Please configure 'coze.api.token' (PAT) or JWT auth.");