From 0bbbd746e8c39d91ad7b47a4e36e29ab972dc98c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 20 十月 2026 16:56:54 +0800
Subject: [PATCH] 处理长期任务发送问题
---
ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
index 8d6aff4..1e32df9 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
@@ -108,10 +108,11 @@
* @param param 璇锋眰鍙傛暟锛岃姹傚弬鏁板簲璇ユ槸 name1=value1&name2=value2 鐨勫舰寮忋��
* @return 鎵�浠h〃杩滅▼璧勬簮鐨勫搷搴旂粨鏋�
*/
- public static String sendPost(String url, String param) {
+ public static Boolean sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
StringBuilder result = new StringBuilder();
+ boolean success = false;
try {
log.info("sendPost - {}", url);
URL realUrl = new URL(url);
@@ -135,6 +136,7 @@
result.append(line);
}
log.info("recv - {}", result);
+ success = true;
} catch (ConnectException e) {
log.error("璋冪敤HttpUtils.sendPost ConnectException, url=" + url + ",param=" + param, e);
} catch (SocketTimeoutException e) {
@@ -155,7 +157,7 @@
log.error("璋冪敤in.close Exception, url=" + url + ",param=" + param, ex);
}
}
- return result.toString();
+ return success;
}
public static String sendPostByHeaderOld(String url, String param, Map<String, String> headers) {
@@ -213,6 +215,23 @@
}
public static String sendPostByHeader(String url, String param, Map<String, String> headers) {
+ // 涓嶈瓒呮椂锛氫笌鍘嗗彶琛屼负涓�鑷达紙鑰佽皟鐢ㄦ柟涓�涓瓧鑺傞兘涓嶅彉锛�
+ return sendPostByHeader(url, param, headers, 0, 0);
+ }
+
+ /**
+ * 甯﹁秴鏃剁殑 POST锛圝SON 鎶ユ枃澶� + 鑷畾涔� header锛夈��
+ * <p>
+ * 鈿狅笍 <b>涓轰粈涔堜細鏈夎繖涓噸杞�</b>锛氫笂闈㈢殑鑰佹柟娉�<b>娌℃湁杩炴帴/璇昏秴鏃�</b>锛�
+ * 涓�鏃﹀绔笉鍝嶅簲锛岃皟鐢ㄧ嚎绋嬩細鏃犻檺鏈熸寕浣忋�傛壒閲忔寜鎮h�呰皟鐢ㄧ殑閲囬泦
+ * 锛堝"鍦ㄩ櫌淇℃伅鍒锋柊"锛屼竴杞嚑鍗冩锛夋壙鍙椾笉璧疯繖涓闄╋紝鎵�浠ヨˉ涓�涓樉寮忚秴鏃剁殑閲嶈浇锛�
+ * 鑰佹柟娉曟敼涓哄鎵樻湰鏂规硶骞朵紶 0锛�0 = 涓嶈瓒呮椂锛夛紝琛屼负涓庢敼閫犲墠瀹屽叏涓�鑷淬��
+ *
+ * @param connectTimeoutMs 杩炴帴瓒呮椂锛堟绉掞級锛泏@code <=0} 琛ㄧず涓嶈
+ * @param readTimeoutMs 璇昏秴鏃讹紙姣锛夛紱{@code <=0} 琛ㄧず涓嶈
+ */
+ public static String sendPostByHeader(String url, String param, Map<String, String> headers,
+ int connectTimeoutMs, int readTimeoutMs) {
StringBuilder result = new StringBuilder();
HttpURLConnection conn = null;
try {
@@ -226,6 +245,12 @@
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setDoOutput(true);
conn.setDoInput(true);
+ if (connectTimeoutMs > 0) {
+ conn.setConnectTimeout(connectTimeoutMs);
+ }
+ if (readTimeoutMs > 0) {
+ conn.setReadTimeout(readTimeoutMs);
+ }
if (headers != null) {
for (Map.Entry<String, String> entry : headers.entrySet()) {
--
Gitblit v1.9.3