日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

【震驚】Tomcat配置參數(shù)原來這么玩?99%的人不知道的秘密!

來源: 責編: 時間:2023-10-13 14:37:55 274觀看
導讀application.yml配置server: port: 8081 tomcat: maxThreads: 10 maxConnections: 10 acceptCount: 1 connectionTimeout: 3000測試1:在controller中休眠10s>connectionTimeout@RestController@Reques

application.yml配置4Yg28資訊網(wǎng)——每日最新資訊28at.com

server:  port: 8081  tomcat:    maxThreads: 10    maxConnections: 10    acceptCount: 1      connectionTimeout: 3000

測試1:

在controller中休眠10s>connectionTimeout4Yg28資訊網(wǎng)——每日最新資訊28at.com

@RestController@RequestMapping("/test")public class TestController {  @GetMapping("/index")  public Object index() {    try {      System.out.println(Thread.currentThread().getName()) ;      TimeUnit.SECONDS.sleep(10) ;    } catch (InterruptedException e) {      e.printStackTrace();    }    return "success" ;  }}

發(fā)現(xiàn)程序能正常地響應。4Yg28資訊網(wǎng)——每日最新資訊28at.com

結論:connectionTimeout參數(shù)與具體的請求響應時間是沒有關系的。4Yg28資訊網(wǎng)——每日最新資訊28at.com

測試2:

通過HttpURLConnection發(fā)送請求4Yg28資訊網(wǎng)——每日最新資訊28at.com

public class HttpURLConnectionDemo {  public static void main(String[] args) throws Exception {    HttpURLConnection con = (HttpURLConnection) new URL("http://localhost:8081/test/index").openConnection() ;    con.setDoInput(true) ;    con.setDoOutput(true) ;    long start = System.currentTimeMillis() ;    InputStream is = con.getInputStream() ;    Scanner scan = new Scanner(is) ;    while(scan.hasNext()) {      System.out.println("接收到內(nèi)容:" + scan.next() + "/n耗時:" + (System.currentTimeMillis() - start)) ;    }    scan.close() ;    con.disconnect() ;    con = null ;  }}

結果:4Yg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片4Yg28資訊網(wǎng)——每日最新資訊28at.com


4Yg28資訊網(wǎng)——每日最新資訊28at.com

結論:connectionTimeout參數(shù)與什么樣的客戶端做連接請求沒關系。4Yg28資訊網(wǎng)——每日最新資訊28at.com

測試3:

通過Socket建立連接4Yg28資訊網(wǎng)——每日最新資訊28at.com

public class TomcatConnectionTimeoutDemo {  public static void main(String[] args) throws Exception {    Socket socket = new Socket("127.0.0.1", 8081) ;    long start = System.currentTimeMillis() ;    InputStream is = socket.getInputStream() ;    is.read() ;    System.out.println(System.currentTimeMillis() - start ) ;  }}

運行結果:4Yg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片4Yg28資訊網(wǎng)——每日最新資訊28at.com

差不多3s后程序結束了,也就是連接斷開了。接著測試:4Yg28資訊網(wǎng)——每日最新資訊28at.com

public class TomcatConnectionTimeoutDemo {  public static void main(String[] args) throws Exception {    Socket socket = new Socket("127.0.0.1", 8081) ;    long start = System.currentTimeMillis() ;    final OutputStream os = socket.getOutputStream() ;    new Thread(() -> {      Scanner scan = new Scanner(System.in) ;      while(scan.hasNext()) {        String content = scan.next() ;        System.out.println("準備發(fā)送:" + content) ;        try {          os.write(content.getBytes()) ;          os.flush() ;        } catch (IOException e) {          e.printStackTrace() ;        }      }    }).start() ;    InputStream is = socket.getInputStream() ;    is.read() ;    System.out.println(System.currentTimeMillis() - start ) ;  }}

結果1(什么也不做):4Yg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片4Yg28資訊網(wǎng)——每日最新資訊28at.com

結果2(控制臺不停的輸入內(nèi)容):4Yg28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片4Yg28資訊網(wǎng)——每日最新資訊28at.com


4Yg28資訊網(wǎng)——每日最新資訊28at.com

程序一開始運行,控制臺不停地輸入內(nèi)容,發(fā)現(xiàn)程序一直正常,當停留3秒后在輸入內(nèi)容,發(fā)現(xiàn)程序又斷開了。4Yg28資訊網(wǎng)——每日最新資訊28at.com

結論:connectionTimeout參數(shù)是說當客戶端有服務器連接以后,如果客戶端不輸入任何內(nèi)容,那么超過了connectionTimeout設置的時間后連接會被斷開。4Yg28資訊網(wǎng)——每日最新資訊28at.com

完畢!!!4Yg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-13355-0.html【震驚】Tomcat配置參數(shù)原來這么玩?99%的人不知道的秘密!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 兩個實驗讓我徹底弄懂了「訂閱關系一致」

下一篇: 聊聊 Reddit Programming 板塊的未來

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 清流县| 寿宁县| 化德县| 平遥县| 合山市| 京山县| 莱芜市| 霸州市| 靖边县| 怀远县| 鄂托克旗| 平塘县| 望江县| 巩义市| 罗田县| 昭通市| 巴林右旗| 成安县| 嘉黎县| 鱼台县| 阿拉尔市| 长治市| 永新县| 竹北市| 金乡县| 石城县| 将乐县| 缙云县| 三明市| 云梦县| 桦川县| 离岛区| 桃江县| 榆林市| 罗江县| 荣成市| 兴城市| SHOW| 吴旗县| 闽侯县| 宜川县|