Site updated: 2023-06-01 14:44:26
This commit is contained in:
1 parent
ad9c16d2c3
commit
e1b5ff844a
165 files changed
+165
-165
No files matched your search
@@ -11,7 +11,7 @@
|
||||
"url": "https://hitoli.com/2023/05/30/http%E8%AF%B7%E6%B1%82%E4%B9%8BrestTemplate%E9%85%8D%E7%BD%AE%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4/",
|
||||
"title": "http请求之restTemplate配置超时时间",
|
||||
"date_published": "2023-05-30T09:20:00.000Z",
|
||||
"content_html": "<h4 id=\"问题\"><a class=\"anchor\" href=\"#问题\">#</a> 问题</h4>\n<p>http 请求发起后接收不到返回数据!!!【测试环境没出问题,发到正式环境就有问题】</p>\n<p>项目中通过 restTemplate 发起请求:</p>\n<figure class=\"highlight java\"><figcaption data-lang=\"java\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>log<span class=\"token punctuation\">.</span><span class=\"token function\">info</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"请求入参:{}\"</span><span class=\"token punctuation\">,</span><span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">toJSONString</span><span class=\"token punctuation\">(</span>request<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span><span class=\"token comment\">// 打印日志 1</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// 配置 http 请求的连接超时时间和读取超时时间</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token class-name\">HttpsClientRequestFactory</span> factory <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">HttpsClientRequestFactory</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>factory<span class=\"token punctuation\">.</span><span class=\"token function\">setConnectTimeout</span><span class=\"token punctuation\">(</span><span class=\"token number\">60</span> <span class=\"token operator\">*</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>factory<span class=\"token punctuation\">.</span><span class=\"token function\">setReadTimeout</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span> <span class=\"token operator\">*</span> <span class=\"token number\">60</span> <span class=\"token operator\">*</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token class-name\">RestTemplate</span> restTemplate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">RestTemplate</span><span class=\"token punctuation\">(</span>factory<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre><span class=\"token class-name\">Result</span><span class=\"token generics\"><span class=\"token punctuation\"><</span><span class=\"token class-name\">InventoryResult</span><span class=\"token punctuation\">></span></span> result <span class=\"token operator\">=</span> restTemplate<span class=\"token punctuation\">.</span><span class=\"token function\">postForObject</span><span class=\"token punctuation\">(</span>address<span class=\"token punctuation\">.</span><span class=\"token function\">concat</span><span class=\"token punctuation\">(</span>inventoryUrl<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> request<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Result</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre>log<span class=\"token punctuation\">.</span><span class=\"token function\">info</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"库存同步,返回数据: {}\"</span><span class=\"token punctuation\">,</span> result<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span><span class=\"token comment\">// 打印日志 2</span></pre></td></tr></table></figure><ul>\n<li>打印日志 1 内容为:</li>\n</ul>\n<p>http 请求入参:{data=[{ productStatus=10,skuCode=null}], messageId=ewpfpr1t6ey5r6qj0su0w1h6rt73hr,token=vgvU5EJKuZbuHii7WH6pTINp40ZRicaqLz4dq5P7L6pDzWir8EEGZhCKPucQjljsw69EHasEy+iJfdTofDg==}</p>\n<ul>\n<li>\n<p>打印日志 2 内容为:没有打印内容!!!</p>\n</li>\n<li>\n<p>最后发现是因为测试环境中数据量较小,http 请求后,很快能得到相应,而正式环境数据量较大,没有及时得到响应,连接或者读取超时!!!</p>\n</li>\n</ul>\n<h4 id=\"解决方式\"><a class=\"anchor\" href=\"#解决方式\">#</a> 解决方式</h4>\n<h6 id=\"第一种\"><a class=\"anchor\" href=\"#第一种\">#</a> 第一种</h6>\n<oLine truncated
|
||||
"content_html": "<h4 id=\"问题\"><a class=\"anchor\" href=\"#问题\">#</a> 问题</h4>\n<p>http 请求发起后接收不到返回数据!!!【测试环境没出问题,发到正式环境就有问题】</p>\n<p>项目中通过 restTemplate 发起请求:</p>\n<figure class=\"highlight java\"><figcaption data-lang=\"java\"></figcaption><table><tr><td data-num=\"1\"></td><td><pre>log<span class=\"token punctuation\">.</span><span class=\"token function\">info</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"请求入参:{}\"</span><span class=\"token punctuation\">,</span><span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">toJSONString</span><span class=\"token punctuation\">(</span>request<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span><span class=\"token comment\">// 打印日志 1</span></pre></td></tr><tr><td data-num=\"2\"></td><td><pre><span class=\"token comment\">// 配置 http 请求的连接超时时间和读取超时时间</span></pre></td></tr><tr><td data-num=\"3\"></td><td><pre><span class=\"token class-name\">HttpsClientRequestFactory</span> factory <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">HttpsClientRequestFactory</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"4\"></td><td><pre>factory<span class=\"token punctuation\">.</span><span class=\"token function\">setConnectTimeout</span><span class=\"token punctuation\">(</span><span class=\"token number\">60</span> <span class=\"token operator\">*</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"5\"></td><td><pre>factory<span class=\"token punctuation\">.</span><span class=\"token function\">setReadTimeout</span><span class=\"token punctuation\">(</span><span class=\"token number\">5</span> <span class=\"token operator\">*</span> <span class=\"token number\">60</span> <span class=\"token operator\">*</span> <span class=\"token number\">1000</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"6\"></td><td><pre><span class=\"token class-name\">RestTemplate</span> restTemplate <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">RestTemplate</span><span class=\"token punctuation\">(</span>factory<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"7\"></td><td><pre><span class=\"token class-name\">Result</span><span class=\"token generics\"><span class=\"token punctuation\"><</span><span class=\"token class-name\">InventoryResult</span><span class=\"token punctuation\">></span></span> result <span class=\"token operator\">=</span> restTemplate<span class=\"token punctuation\">.</span><span class=\"token function\">postForObject</span><span class=\"token punctuation\">(</span>address<span class=\"token punctuation\">.</span><span class=\"token function\">concat</span><span class=\"token punctuation\">(</span>inventoryUrl<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> request<span class=\"token punctuation\">,</span> <span class=\"token class-name\">Result</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">class</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></pre></td></tr><tr><td data-num=\"8\"></td><td><pre>log<span class=\"token punctuation\">.</span><span class=\"token function\">info</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"库存同步,返回数据: {}\"</span><span class=\"token punctuation\">,</span> result<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span><span class=\"token comment\">// 打印日志 2</span></pre></td></tr></table></figure><ul>\n<li>打印日志 1 内容为:</li>\n</ul>\n<p>http 请求入参:{data=[{ productStatus=10,skuCode=null}], messageId=ewpfpr1t6ey5r6qj0su0w1h6rt73hr,token=vgvU5EJKuZbuHii7WH6pTINp40ZRicaqLz4dq5P7L6pDzWir8EEGZhCKPucQjljsw69EHasEy+iJfdTofDg==}</p>\n<ul>\n<li>\n<p>打印日志 2 内容为:没有打印内容!!!</p>\n</li>\n<li>\n<p>最后发现是因为测试环境中数据量较小,http 请求后,很快能得到相应,而正式环境数据量较大,没有及时得到响应,连接或者读取超时!!!</p>\n</li>\n</ul>\n<h4 id=\"解决方式\"><a class=\"anchor\" href=\"#解决方式\">#</a> 解决方式</h4>\n<h6 id=\"第一种\"><a class=\"anchor\" href=\"#第一种\">#</a> 第一种</h6>\n<oLine truncated
|
||||
"tags": [
|
||||
"工作",
|
||||
"解决问题",
|
||||
|
||||
Reference in new issue
Block a user