閱讀387 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Apache HttpClient ????????????time out????????????????????????????????????-??????-????????????-?????????

update 2014-5-18???

????????????????????????HttpClient????????????????????????socket read?????????????????????

???jstack -l pid ???????????????????????????????????????????????????????????????????????????thread dump???????????????????????????????????????????????????????????????????????????????????????????????????

"org.springframework.jms.listener.DefaultMessageListenerContainer#7-1" prio=10 tid=0x00007f345127d800 nid=0x5b4f0 runnable [0x00007f34753d1000]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:150)
	at java.net.SocketInputStream.read(SocketInputStream.java:121)
	at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:130)
	at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:127)
	at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:233)
	at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:220)
	at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:183)
	at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:152)
	at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:138)
	at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
	at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
	at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
	- locked <0x000000070346ce70> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(InputStreamReader.java:184)
	at java.io.Reader.read(Reader.java:140)
	at org.apache.http.util.EntityUtils.toString(EntityUtils.java:161)

??????????????????????????????JMS????????????http????????????????????????????????????http????????????????????????????????????????????????????????????

----------------------------------------------

?????????????????????????????????Http + json????????????????????????????????????

Apache HttpClient?????????????????????Java http??????????????????????????????????????????Apache HttpClient???????????????????????????????????????????????????????????????HttpClient??????????????????????????????????????????????????????????????????????????????????????????????????????????????????nginx???????????????hessian????????????????????????

??????Http Client?????????SO_TIMEOUT???0?????????????????????

????????????????????????????????????????????????????????????????????????????????????????????????Http???????????????????????????????????????????????????


Apache HttpClient??????????????????????????????TimeOut?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

?????????????????????time out ????????????

httpClient = new DefaultHttpClient();
httpClient.getParams().setIntParameter(CoreConnectionPNames.SO_LINGER, value)
httpClient.getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 3000);
httpClient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);

SO_LINGER???????????????????????????????????????????????????

https://unliminet.blog.51cto.com/380895/346686

https://stackoverflow.com/questions/3757289/tcp-option-so-linger-zero-when-its-required


最後更新:2017-04-03 12:56:20

  上一篇:go 運算符重載
  下一篇:go 利用redis緩存熱門數據,分頁的一種思路